<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
<meta name="color-scheme" content="light">
<meta name="theme-color" content="#fffdf8">
<meta name="description" content="An open volatility settlement protocol for standard ERC-20 tokens. Create a pool, provide liquidity, or build on the protocol.">
<title>VolaSet Protocol</title>
</head>
<body>
<div id="volaset-preview" lang="en" data-page="home">
  <a class="vs-skip-link" href="#main-content">Skip to content</a>
  <div class="vs-reading-progress" data-vs-progress role="progressbar" aria-label="Whitepaper reading progress" aria-valuemin="0" aria-valuemax="100" aria-valuenow="0" hidden><span></span></div>
  <style>
    #volaset-preview { --vs-ink:#242626; --vs-muted:#696c69; --vs-gold:#a98129; --vs-line:#ecebe5; color:var(--vs-ink); background:#fff; color-scheme:light; font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif; position:relative; isolation:isolate; }
    #volaset-preview * { box-sizing:border-box; }
    #volaset-preview [hidden] { display:none!important; }
    #volaset-preview button,#volaset-preview a { -webkit-tap-highlight-color:transparent; }
    #volaset-preview button { font-family:inherit; }
    #volaset-preview .vs-header { height:94px; margin:0 5.5%; display:flex; align-items:center; justify-content:space-between; gap:20px; position:relative; z-index:5; border-bottom:1px solid var(--vs-line); }
    #volaset-preview .vs-brand { display:block; position:relative; flex:none; width:213px; height:46px; overflow:hidden; border:0; padding:0; background:#fff; }
    #volaset-preview .vs-brand img { display:block; position:absolute; width:480px; max-width:none; height:160px; left:-143px; top:-54px; }
    #volaset-preview .vs-nav { background:none; border:0; display:inline-flex; align-items:center; gap:12px; color:var(--vs-ink); font-size:14px; padding:14px 0 14px 16px; transition:color .2s; white-space:nowrap; }
    #volaset-preview .vs-nav:hover { color:var(--vs-gold); }
    #volaset-preview .vs-nav svg { width:16px; height:16px; }
    #volaset-preview .vs-home { position:relative; min-height:540px; overflow:hidden; background:radial-gradient(ellipse 82% 86% at 84% 43%,rgba(224,196,118,.32),transparent 79%),radial-gradient(ellipse 62% 52% at 14% 100%,rgba(236,215,158,.22),transparent 84%),#fff; }
    #volaset-preview .vs-content { min-height:488px; display:flex; align-items:center; position:relative; z-index:2; padding:54px 5.5% 68px; pointer-events:none; }
    #volaset-preview .vs-copy { max-width:54%; pointer-events:auto; }
    #volaset-preview .vs-title { font-size:clamp(38px,5.1vw,52px); font-weight:500; letter-spacing:-1.7px; line-height:1.3; margin:0 0 24px; }
    #volaset-preview .vs-title span { display:block; }
    #volaset-preview .vs-title span+span { color:#242626; }
    #volaset-preview .vs-description { font-size:16px; line-height:1.85; margin:0; color:var(--vs-muted); letter-spacing:.25px; }
    #volaset-preview .vs-primary { display:inline-flex; align-items:center; justify-content:space-between; gap:36px; min-height:48px; margin-top:32px; padding:0 22px; color:#403515; background:#e2c573; border:1px solid #e2c573; border-radius:5px; font-size:14px; font-weight:500; transition:background .2s,transform .2s; }
    #volaset-preview .vs-primary:hover { background:#dabc62; border-color:#dabc62; transform:translateY(-2px); }
    #volaset-preview .vs-primary svg { width:16px; height:16px; transition:transform .2s; }
    #volaset-preview .vs-primary:hover svg { transform:translateX(3px); }
    #volaset-preview .vs-art { position:absolute; width:57%; right:-2%; top:14px; height:452px; pointer-events:auto; touch-action:pan-y; }
    #volaset-preview .vs-art canvas { width:100%; height:100%; display:block; }
    #volaset-preview .vs-background { position:absolute; inset:0; pointer-events:none; }
    #volaset-preview .vs-background::before { content:""; position:absolute; inset:0; background-image:radial-gradient(circle,rgba(167,139,69,.2) .75px,transparent 1px); background-size:26px 26px; -webkit-mask-image:radial-gradient(ellipse 42% 52% at 88% 42%,#000 8%,transparent 82%); mask-image:radial-gradient(ellipse 42% 52% at 88% 42%,#000 8%,transparent 82%); opacity:.58; }
    #volaset-preview .vs-background canvas { display:block; width:100%; height:100%; }
    #volaset-preview .vs-bottom { margin:0 5.5%; min-height:56px; padding:6px 0; gap:16px; position:relative; z-index:2; border-top:1px solid var(--vs-line); display:flex; align-items:center; justify-content:space-between; }
    #volaset-preview .vs-copyright { color:#73776f; font-size:12px; line-height:1.6; font-weight:400; letter-spacing:.15px; }
    #volaset-preview .vs-footer-meta { display:flex; align-items:center; flex-wrap:wrap; gap:20px; }
    #volaset-preview .vs-x-link { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; color:#73776f; line-height:1; text-decoration:none; transition:color .2s; }
    #volaset-preview .vs-x-link:hover { color:var(--vs-gold); }
    #volaset-preview .vs-x-icon { display:block; width:16px; height:16px; fill:currentColor; }
    #volaset-preview .vs-doc-footer { margin:44px 0 0; }
    #volaset-preview .vs-document { padding:44px 5.5% 60px; }
    #volaset-preview .vs-doc-header { position:relative; isolation:isolate; overflow:hidden; padding:34px 36px 30px; margin-bottom:38px; border:1px solid #eee8da; border-radius:10px; background:radial-gradient(ellipse at 98% 35%,rgba(224,194,112,.2),transparent 62%),linear-gradient(110deg,#fff 35%,#fcfaf4); }
    #volaset-preview .vs-doc-header::before,#volaset-preview .vs-doc-header::after { content:""; position:absolute; z-index:-1; width:470px; height:190px; right:-102px; top:37px; border:1px solid rgba(183,147,53,.16); border-radius:50%; transform:rotate(-22deg); pointer-events:none; }
    #volaset-preview .vs-doc-header::after { right:-110px; top:47px; border-color:rgba(183,147,53,.08); }
    #volaset-preview .vs-doc-eyebrow { display:block; color:#927027; font-size:11px; line-height:1.5; letter-spacing:1.8px; margin-bottom:12px; }
    #volaset-preview .vs-doc-header h1 { font-size:38px; font-weight:500; line-height:1.3; letter-spacing:-.6px; margin:0 0 12px; }
    #volaset-preview .vs-doc-header p { max-width:560px; font-size:15px; line-height:1.8; color:var(--vs-muted); margin:0; }
    #volaset-preview .vs-doc-meta { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-top:22px; color:#7c786c; font-size:12px; line-height:1.5; }
    #volaset-preview .vs-doc-version { padding:4px 9px; color:#8c6b28; border:1px solid #e8dec4; background:rgba(255,255,255,.7); border-radius:4px; }
    #volaset-preview .vs-doc-layout { display:grid; grid-template-columns:184px minmax(0,1fr); gap:44px; align-items:start; }
    #volaset-preview .vs-toc { display:flex; flex-direction:column; gap:4px; }
    #volaset-preview .vs-toc-label { display:block; color:#939184; font-size:11px; line-height:1.5; letter-spacing:1px; padding:0 12px 12px; }
    #volaset-preview .vs-toc a { color:var(--vs-muted); font-size:12px; text-decoration:none; line-height:1.8; padding:8px 10px; border-left:2px solid #efeee7; border-radius:0 4px 4px 0; transition:color .18s,background .18s,border-color .18s; }
    #volaset-preview .vs-toc a:hover { color:var(--vs-gold); background:#fcfaf4; }
    #volaset-preview .vs-toc a[aria-current="location"] { color:#8c6825; border-left-color:#c5a24d; background:linear-gradient(90deg,#f7f1e1,rgba(247,241,225,.2)); font-weight:500; }
    #volaset-preview .vs-mobile-toc { display:none; }
    #volaset-preview .vs-prose { min-width:0; max-width:760px; color:#434740; font-size:15px; line-height:1.95; }
    #volaset-preview .vs-prose h3 { margin:42px 0 18px; padding-top:24px; border-top:1px solid var(--vs-line); font-size:21px; line-height:1.5; font-weight:500; color:var(--vs-ink); scroll-margin:28px; }
    #volaset-preview .vs-prose h3:first-child { margin-top:0; padding-top:0; border-top:0; }
    #volaset-preview .vs-prose p { margin:0 0 18px; }
    #volaset-preview .vs-abstract { padding:22px 24px; border-left:2px solid #cfb66e; border-radius:0 7px 7px 0; background:linear-gradient(115deg,#faf7ee,rgba(250,247,238,.38)); }
    #volaset-preview .vs-prose .vs-abstract h3 { margin:0 0 12px; padding:0; border:0; font-size:17px; color:#756136; }
    #volaset-preview .vs-prose .vs-abstract p:last-child { margin-bottom:0; }
    #volaset-preview .vs-prose li { margin:6px 0; }
    #volaset-preview .vs-prose ul,#volaset-preview .vs-prose ol { padding-left:22px; }
    #volaset-preview .vs-prose li::marker { color:#b1934f; }
    #volaset-preview .vs-table-shell { margin:20px 0 26px; overflow:hidden; border:1px solid #eae5d9; border-radius:8px; }
    #volaset-preview .vs-prose table { width:100%; table-layout:fixed; border-collapse:collapse; font-size:13px; margin:0; }
    #volaset-preview .vs-prose th,#volaset-preview .vs-prose td { padding:13px 15px; text-align:left; border-bottom:1px solid var(--vs-line); vertical-align:top; overflow-wrap:anywhere; }
    #volaset-preview .vs-prose th { font-weight:500; color:#71603c; background:#f7f3e8; }
    #volaset-preview .vs-prose th:first-child { width:33%; }
    #volaset-preview .vs-prose tbody tr:last-child td { border-bottom:0; }
    #volaset-preview .vs-prose tbody tr:nth-child(even) { background:#fdfcf9; }
    #volaset-preview .vs-prose .vs-figure-title { margin-top:26px; margin-bottom:10px; color:#8c713a; font-size:12px; letter-spacing:.2px; }
    #volaset-preview .vs-prose .vs-equation { padding:16px 18px; color:#665332; background:#faf7ed; border-left:2px solid #d7bd77; border-radius:0 5px 5px 0; font-size:14px; }
    #volaset-preview .vs-prose .vs-structure { padding:24px; margin:12px 0 18px; background-image:radial-gradient(circle,rgba(176,150,83,.15) .6px,transparent .9px),linear-gradient(140deg,#fcfaf4,#fdfcf9); background-size:20px 20px,100% 100%; border:1px solid #eee7d9; border-radius:9px; text-align:center; font-size:12px; }
    #volaset-preview .vs-structure .vs-node-row { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
    #volaset-preview .vs-structure .vs-node { background:#fff; border:1px solid #e5ddc9; padding:10px 14px; border-radius:5px; }
    #volaset-preview .vs-structure > .vs-node { background:#f6efdc; border-color:#e4d5ad; color:#6f5929; }
    #volaset-preview .vs-structure .vs-connector { display:flex; flex-direction:column; align-items:center; padding:6px 0; color:#8a784c; }
    #volaset-preview .vs-structure .vs-connector svg { width:16px; height:16px; }
    #volaset-preview .vs-structure .vs-note { margin:12px 0 0; color:var(--vs-muted); font-size:11px; }
    #volaset-preview .vs-structure .vs-flow-row { display:grid; grid-template-columns:1fr 24px 1fr; gap:8px; align-items:center; margin:10px 0 0; }
    #volaset-preview .vs-structure .vs-flow-row svg { width:16px; height:16px; }
    @media(max-width:640px) {
      #volaset-preview .vs-header { height:78px; margin:0 24px; }
      #volaset-preview .vs-brand { width:179px; height:40px; }
      #volaset-preview .vs-brand img { width:408px; height:136px; left:-122px; top:-46px; }
      #volaset-preview .vs-nav { padding-left:0; font-size:13px; gap:5px; }
      #volaset-preview .vs-nav svg { width:14px; height:14px; }
      #volaset-preview .vs-home { min-height:605px; }
      #volaset-preview .vs-content { min-height:553px; padding:50px 24px 285px; align-items:flex-start; }
      #volaset-preview .vs-copy { max-width:100%; }
      #volaset-preview .vs-title { font-size:38px; line-height:1.3; letter-spacing:-1.3px; margin-bottom:20px; }
      #volaset-preview .vs-title span { display:block; }
      #volaset-preview .vs-description { font-size:14px; letter-spacing:0; }
      #volaset-preview .vs-primary { margin-top:24px; min-height:44px; gap:30px; }
      #volaset-preview .vs-art { top:auto; bottom:20px; right:-4%; width:100%; height:295px; }
      #volaset-preview .vs-home { background:radial-gradient(ellipse 116% 68% at 70% 72%,rgba(224,196,118,.28),transparent 86%),#fff; }
      #volaset-preview .vs-background::before { -webkit-mask-image:radial-gradient(ellipse 70% 32% at 82% 70%,#000 2%,transparent 92%); mask-image:radial-gradient(ellipse 70% 32% at 82% 70%,#000 2%,transparent 92%); opacity:.4; }
      #volaset-preview .vs-bottom { margin:0 24px; }
      #volaset-preview .vs-footer-meta { gap:12px; }
      #volaset-preview .vs-doc-footer { margin:32px 0 0; }
      #volaset-preview .vs-document { padding:32px 24px; }
      #volaset-preview .vs-doc-header { padding:25px 22px; margin-bottom:22px; }
      #volaset-preview .vs-doc-header h1 { font-size:32px; }
      #volaset-preview .vs-doc-header p { font-size:14px; }
      #volaset-preview .vs-doc-header::before { right:-260px; }
      #volaset-preview .vs-doc-header::after { right:-270px; }
      #volaset-preview .vs-doc-meta { margin-top:18px; }
      #volaset-preview .vs-doc-layout { display:block; }
      #volaset-preview .vs-toc { display:none; }
      #volaset-preview .vs-mobile-toc { display:block; margin-bottom:22px; padding:0 14px; background:#fcfaf5; border:1px solid #eee7d7; border-radius:6px; }
      #volaset-preview .vs-mobile-toc summary { padding:13px 0; color:#796338; font-size:13px; cursor:pointer; }
      #volaset-preview .vs-mobile-toc nav { display:grid; gap:3px; padding:0 0 12px; }
      #volaset-preview .vs-mobile-toc a { padding:7px 9px; font-size:13px; line-height:1.7; color:var(--vs-muted); text-decoration:none; border-radius:4px; }
      #volaset-preview .vs-mobile-toc a[aria-current="location"] { color:#8c6825; background:#f5edda; }
      #volaset-preview .vs-prose { font-size:14px; line-height:1.95; }
      #volaset-preview .vs-prose h3 { margin-top:34px; padding-top:21px; font-size:19px; }
      #volaset-preview .vs-abstract { padding:19px 18px; }
      #volaset-preview .vs-prose th,#volaset-preview .vs-prose td { padding:11px 10px; }
      #volaset-preview .vs-prose .vs-structure { padding:18px 14px; }
      #volaset-preview .vs-structure .vs-node { padding:9px 11px; }
    }
    @media(max-width:370px) {
      #volaset-preview .vs-header { margin:0 18px; gap:12px; }
      #volaset-preview .vs-brand { width:167px; }
      #volaset-preview .vs-brand img { width:384px; height:128px; left:-115px; top:-43px; }
      #volaset-preview .vs-content { padding-left:18px; padding-right:18px; }
      #volaset-preview .vs-title { font-size:38px; }
    }
    @media(prefers-reduced-motion:reduce) { #volaset-preview * { transition:none!important; } }
  </style>
  <header class="vs-header">
    <a class="vs-brand cursor-interaction" href="#home" data-vs-home aria-label="VolaSet Protocol home"><img src="data:image/png;base64,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" alt="VolaSet Protocol"></a>
    <nav aria-label="Main navigation"><a class="vs-nav cursor-interaction" href="#whitepaper" data-vs-paper><span data-vs-nav-label>Whitepaper</span><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><path d="M7 7h10v10" /><path d="M7 17 17 7" /></svg></a></nav>
  </header>
  <main class="vs-home" data-vs-landing id="main-content" tabindex="-1">
    <div class="vs-background" aria-hidden="true"><canvas data-vs-waves></canvas></div>
    <div class="vs-art" aria-hidden="true"><canvas data-vs-art></canvas></div>
    <div class="vs-content">
      <div class="vs-copy">
        <h1 class="vs-title"><span>Open volatility</span><span>settlement.</span></h1>
        <p class="vs-description">Create a pool for any standard ERC-20.<br>Provide liquidity or build your own app.</p>
        <a class="vs-primary cursor-interaction" href="#whitepaper" data-vs-paper><span>Read whitepaper</span><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><path d="M5 12h14" /><path d="m12 5 7 7-7 7" /></svg></a>
      </div>
    </div>
    <footer class="vs-bottom"><div class="vs-footer-meta"><small class="vs-copyright">© 2026 VolaSet Protocol</small><a class="vs-x-link" href="https://x.com/VolaSetProtocol" target="_blank" rel="noopener noreferrer" aria-label="VolaSet Protocol on X (opens in a new tab)"><svg class="vs-x-icon" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" focusable="false"><path d="M18.244 2.25h3.308l-7.227 8.26L22.827 21.75h-6.657l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.173 2.25H8l4.713 6.231L18.244 2.25Zm-1.161 17.52h1.833L7.004 4.126H5.037L17.083 19.77Z"/></svg></a></div></footer>
  </main>
  <main class="vs-document" data-vs-document hidden aria-label="Whitepaper">
    <div class="vs-doc-header"><span class="vs-doc-eyebrow">VOLASET PROTOCOL</span><h1 tabindex="-1" data-vs-doc-title>Whitepaper</h1><p>An open volatility settlement protocol for any standard ERC-20</p><div class="vs-doc-meta"><span class="vs-doc-version">v1.0</span><span>English</span><span class="vs-meta-separator" aria-hidden="true">·</span><span data-vs-reading-time></span></div></div>
    <details class="vs-mobile-toc" data-vs-mobile-contents><summary><span>Contents</span><span class="vs-current-section" data-vs-current-section>Overview</span><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m7 10 5 5 5-5"/></svg></summary><nav aria-label="Whitepaper sections" data-vs-mobile-toc></nav></details>
    <div class="vs-doc-layout"><nav class="vs-toc" aria-label="Whitepaper contents" data-vs-toc><span class="vs-toc-label">Contents</span><div class="vs-toc-links" data-vs-toc-links><span class="vs-toc-indicator" data-vs-toc-indicator aria-hidden="true"></span></div></nav><article class="vs-prose" data-vs-prose><section class="vs-abstract"><h3>Overview</h3>
<p>VolaSet is a decentralized, open-source protocol for volatility settlement. Anyone can create a settlement pool for a standard ERC-20 token, provide liquidity, or build applications that use the protocol.</p>
<p>VolaSet provides a separate settlement layer for existing tokens without changes to their contracts. It does not issue a new token.</p>
</section>
<h3>1. Protocol Design</h3>
<p>Smart contracts enforce the settlement rules, liquidity providers supply the capital, and independent frontends give users access to the protocol. Developers can integrate directly without building a separate settlement system for each application.</p>
<p>Each settlement pool has its own assets, parameters, and settlement history. Its balances and settlement results are accounted for independently.</p>
<h3>2. Pools and Participants</h3>
<p>Anyone can create a pool for a standard ERC-20 token by paying a fixed creation fee and selecting a Pool Edge between 0% and 5%. Creating a pool gives its creator no authority over other users&#39; positions.</p>
<p>The protocol has three main roles. An address can take on more than one.</p>
<div class="vs-table-shell"><table>
<thead>
<tr>
<th>Role</th>
<th>Function</th>
</tr>
</thead>
<tbody><tr>
<td>Liquidity providers (LPs)</td>
<td>Supply the pool&#39;s token and share settlement profits and losses in proportion to their pool shares</td>
</tr>
<tr>
<td>Users</td>
<td>Choose a pool, settlement amount, and volatility factor; the contracts execute settlement</td>
</tr>
<tr>
<td>Frontend operators</td>
<td>Provide access to pool creation, liquidity management, and settlement; may charge fees disclosed in advance</td>
</tr>
</tbody></table></div>
<p>LP positions are tied to the address that supplied the liquidity. Only that address can manage or withdraw its positions. Pool creators, protocol developers, and frontend operators have no authority to transfer these assets.</p>
<p class="vs-figure-title"><strong>Figure 1. Access to the protocol</strong></p>
<div class="vs-structure" role="group" aria-label="Protocol access"><div class="vs-node-row"><span class="vs-node">Users</span><span class="vs-node">Liquidity providers</span></div><div class="vs-connector">Choose parameters / Manage positions<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><path d="M12 5v14" /><path d="m19 12-7 7-7-7" /></svg></div><div class="vs-node">Independent frontend</div><div class="vs-connector">Call contracts<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><path d="M12 5v14" /><path d="m19 12-7 7-7-7" /></svg></div><div class="vs-node">VolaSet Protocol</div><div class="vs-connector"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><path d="M12 5v14" /><path d="m19 12-7 7-7-7" /></svg></div><div class="vs-node-row"><span class="vs-node">ERC-20 A pool</span><span class="vs-node">ERC-20 B pool</span></div><p class="vs-note">Users and LPs can also call the contracts directly. Each pool is accounted for separately.</p></div>
<p>The diagram shows how users access the protocol. Funds do not pass through frontends, and the nodes do not represent individual contracts.</p>
<h3>3. Volatility Settlement</h3>
<p>The contract determines how many tokens a user receives, using public rules and a verifiable result. The variability is in the amount received. Users do not need to predict changes in the token&#39;s market price.</p>
<p>Users select a pool, a settlement amount, and a <strong>Volatility Factor from 0.5x to 5x</strong>. The factor determines the settlement range and the probability of each outcome. It is not a promised return multiple.</p>
<p>Each settlement follows four steps:</p>
<ol>
<li>The user selects parameters, reviews the fees, and submits a request.</li>
<li>The contract checks the request against the pool&#39;s available liquidity limits.</li>
<li>The contract automatically calculates and executes settlement using the pool&#39;s parameters and a verifiable result.</li>
<li>The result is applied to the pool, updating its assets and the value of each LP share.</li>
</ol>
<p>The pool takes the other side of the settlement. Users do not need a matching order from another participant. Whether a request can be accepted depends on available liquidity and the settlement rules.</p>
<h3>4. Pool Edge and LP Returns</h3>
<p>Pool Edge is the pool&#39;s long-run statistical advantage under the settlement rules. It is not an annualized yield, a protocol fee, or a frontend fee. It does not guarantee a profit on any individual settlement or over a given period. Realized returns depend on settlement sizes, the distribution of outcomes, and when an LP enters or leaves the pool. A 0% Pool Edge does not remove settlement risk or waive other fees.</p>
<p>LP shares represent a proportional interest in the pool. Settlement gains increase the value per share; settlement losses reduce it.</p>
<p>Excluding fees and other inflows or outflows, the effect of a single settlement is:</p>
<p class="vs-equation"><strong>Net change in pool assets = Amount received from the user − Amount paid to the user</strong></p>
<p>For example, if a user puts in 100 tokens and receives 150, the pool loses 50 tokens. If the user receives 60, the pool gains 40. These gains and losses are reflected proportionally in LP positions.</p>
<h3>5. Liquidity Limits and Verification</h3>
<p>A pool&#39;s available liquidity limits the size of each settlement. No request may exceed the pool&#39;s capacity. Per-request limits do not eliminate losses from a sequence of unfavorable outcomes. Funds committed to concurrent requests and the rules for LP withdrawals also affect the pool&#39;s ability to meet its payment obligations.</p>
<p>Users should be able to verify each settlement&#39;s input parameters, the source of its result, the payment calculation, and the resulting asset movements. Frontend operators cannot select or influence settlement outcomes.</p>
<p>The public release is intended to be open source and permissionless, with immutable core settlement rules. Each deployment must disclose its external dependencies, configuration permissions, and procedures for handling failures.</p>
<h3>6. Independent Frontends and Use Cases</h3>
<p>Any developer can connect to VolaSet&#39;s contracts and build an interface or application. Multiple frontends can access the same pool, each choosing which assets and features to display.</p>
<p>Frontend operators may charge additional fees, provided they clearly disclose them before the user confirms a transaction. They do not take custody of assets, control pool liquidity, or alter the settlement rules through their interfaces.</p>
<p>If a frontend goes offline, pools and user assets remain onchain. Users can access them through another frontend or interact directly with the contracts. The plan for full release is for independent operators to provide these interfaces, with no official frontend.</p>
<p>Potential uses include:</p>
<ul>
<li><strong>Token communities:</strong> Create a dedicated pool with settlement liquidity supplied by token holders.</li>
<li><strong>Wallets and trading products:</strong> Integrate volatility settlement into a wallet, trading interface, or dApp.</li>
<li><strong>Games and community campaigns:</strong> Incorporate settlement into a game, campaign, or launchpad.</li>
<li><strong>Branded frontends:</strong> Creators and independent operators can run their own interfaces and earn frontend fees without having to provide liquidity themselves.</li>
<li><strong>Other applications:</strong> Build additional products and integrations within the protocol&#39;s supported assets, parameters, and rules.</li>
</ul>
<p>Mechanics or token issuance arrangements outside the existing settlement rules require separate logic.</p>
<h3>7. Fees and Revenue Distribution</h3>
<p>Protocol revenue, frontend revenue, and LP profit and loss are accounted for separately.</p>
<div class="vs-table-shell"><table>
<thead>
<tr>
<th>Item</th>
<th>Source and recipient</th>
</tr>
</thead>
<tbody><tr>
<td>Pool creation fee</td>
<td>A fixed fee paid when a pool is created; protocol revenue</td>
</tr>
<tr>
<td>Protocol settlement fee</td>
<td>Revenue from settlement activity; configured per deployment and may be set to zero</td>
</tr>
<tr>
<td>Frontend fee</td>
<td>An additional fee retained by the frontend operator; excluded from protocol revenue</td>
</tr>
<tr>
<td>LP profit and loss</td>
<td>Reflected in the value of pool shares; excluded from protocol revenue</td>
</tr>
</tbody></table></div>
<p>All protocol revenue goes to the <strong>SWING ORBIT Holder Vault</strong> for distribution under SWING ORBIT&#39;s onchain rules. Smart contracts handle collection, management, and distribution. The team and developers receive no share of protocol revenue.</p>
<p class="vs-figure-title"><strong>Figure 2. Fee distribution and LP returns</strong></p>
<div class="vs-structure" role="group" aria-label="Revenue and settlement profit and loss"><div class="vs-node-row"><span class="vs-node">Pool creation fees</span><span class="vs-node">Protocol settlement fees</span></div><div class="vs-connector"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><path d="M12 5v14" /><path d="m19 12-7 7-7-7" /></svg></div><div class="vs-node">SWING ORBIT Holder Vault</div><div class="vs-connector">Onchain distribution rules<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><path d="M12 5v14" /><path d="m19 12-7 7-7-7" /></svg></div><div class="vs-node">Eligible SWING ORBIT holders</div><div class="vs-flow-row"><span class="vs-node">Frontend fees</span><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><path d="M5 12h14" /><path d="m12 5 7 7-7 7" /></svg><span class="vs-node">Frontend operators</span></div><div class="vs-flow-row"><span class="vs-node">Pool settlement P&L</span><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><path d="M5 12h14" /><path d="m12 5 7 7-7 7" /></svg><span class="vs-node">LP share value</span></div></div>
<p>Distributions depend on actual protocol revenue. No fixed return is promised. Frontend fees and LP settlement gains and losses do not flow through the vault.</p>
<h3>8. Risks and Technical Specification</h3>
<p>Users may receive fewer tokens than they put in. LP share values and the market value of the underlying token may also fall. Contract bugs, token transfer restrictions, network failures, or external service outages may affect asset security and settlement completion.</p>
<p>Separate pool accounting does not protect against failures in shared contracts or external dependencies. Immutable core contracts do not imply that token contracts or randomness services are also immutable. Verifiable results do not guarantee service availability, and permissionless access does not constitute an endorsement of any token or frontend.</p>
<p>This paper describes the protocol&#39;s design. The full technical specification must still define:</p>
<ul>
<li>Settlement ranges and probability formulas for each volatility factor, including how Pool Edge is calculated.</li>
<li>Fee accounting, reserves for pending settlements, and limits on concurrent requests.</li>
<li>LP deposit and withdrawal rules while settlements are pending, and procedures for handling failures.</li>
</ul>
<p>These rules must match the final contracts.</p>
<h3>9. Multichain Deployment and the Swing Ecosystem</h3>
<p>VolaSet can be deployed on multiple blockchains, with separate pools and liquidity on each chain. The same protocol structure can be reused across networks, but liquidity is not shared: a pool on one chain does not back settlements on another.</p>
<p>SwingHook&#39;s live usage demonstrated demand for onchain volatility settlement. VolaSet was designed independently in response to that demand, extending the settlement model to standard ERC-20 tokens.</p>
<p>VolaSet does not issue a separate token. Its revenue model is designed to sustain incentives for the SWING token ecosystem: all protocol revenue is directed to the SWING ORBIT Holder Vault and distributed to eligible SWING ORBIT holders under its onchain rules.</p>
</article></div>
    <footer class="vs-bottom vs-doc-footer"><div class="vs-footer-meta"><small class="vs-copyright">© 2026 VolaSet Protocol</small><a class="vs-x-link" href="https://x.com/VolaSetProtocol" target="_blank" rel="noopener noreferrer" aria-label="VolaSet Protocol on X (opens in a new tab)"><svg class="vs-x-icon" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" focusable="false"><path d="M18.244 2.25h3.308l-7.227 8.26L22.827 21.75h-6.657l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.173 2.25H8l4.713 6.231L18.244 2.25Zm-1.161 17.52h1.833L7.004 4.126H5.037L17.083 19.77Z"/></svg></a></div><a class="vs-back-top" href="#whitepaper" data-vs-back-top>Back to top<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 19V5m-6 6 6-6 6 6"/></svg></a></footer>
  </main>
  <script>
(() => {
  function init() {
    const root = document.getElementById('volaset-preview');
    if (!root) return;
    const landing = root.querySelector('[data-vs-landing]');
    const doc = root.querySelector('[data-vs-document]');
    const nav = root.querySelector('.vs-nav');
    const navLabel = root.querySelector('[data-vs-nav-label]');
    const tocLinks = root.querySelector('[data-vs-toc-links]');
    const indicator = root.querySelector('[data-vs-toc-indicator]');
    const mobileToc = root.querySelector('[data-vs-mobile-toc]');
    const mobileContents = root.querySelector('[data-vs-mobile-contents]');
    const mobileSummary = mobileContents.querySelector('summary');
    const currentLabel = root.querySelector('[data-vs-current-section]');
    const prose = root.querySelector('[data-vs-prose]');
    const progress = root.querySelector('[data-vs-progress]');
    const progressLine = progress.querySelector('span');
    const docTitle = root.querySelector('[data-vs-doc-title]');
    const reduced = matchMedia('(prefers-reduced-motion: reduce)');
    const finePointer = matchMedia('(hover: hover) and (pointer: fine)');
    const mobileLayout = matchMedia('(max-width:760px), (max-width:1000px) and (max-height:520px) and (pointer:coarse)');
    const links = [];
    const words = prose.textContent.trim().split(/\s+/).length;
    root.querySelector('[data-vs-reading-time]').textContent = Math.max(1, Math.ceil(words / 220)) + ' min read';
    let page = 'home', activeSection = -1, readingFrame = 0, progressValue = -1;
    let entryAnimations = [], contentsAnimation;
    const sections = Array.from(prose.querySelectorAll('h3')).map((heading, index) => {
      const label = heading.textContent.trim();
      const title = label.replace(/^\d+\.\s*/, '');
      const slug = title.toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-|-$/g, '');
      const hash = '#whitepaper/' + slug;
      heading.id = 'whitepaper-' + slug;
      heading.tabIndex = -1;
      heading.textContent = '';
      if (index) {
        const number = document.createElement('span');
        number.className = 'vs-section-number';
        number.textContent = index + '.';
        heading.append(number, document.createTextNode(' '));
      }
      const text = document.createElement('span');
      text.className = 'vs-heading-text';
      text.textContent = title;
      const anchor = document.createElement('a');
      anchor.className = 'vs-section-link';
      anchor.href = hash;
      anchor.setAttribute('aria-label', 'Link to ' + title);
      anchor.title = 'Link to this section';
      anchor.innerHTML = '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7 .5l3-3a5 5 0 0 0-7-7l-1.7 1.7M14 11a5 5 0 0 0-7-.5l-3 3a5 5 0 0 0 7 7l1.7-1.7"/></svg>';
      heading.append(text, anchor);
      [tocLinks, mobileToc].forEach(container => {
        const link = document.createElement('a');
        link.href = hash;
        const number = document.createElement('span');
        number.className = 'vs-toc-number';
        number.textContent = String(index).padStart(2, '0');
        number.setAttribute('aria-hidden', 'true');
        const titleSpan = document.createElement('span');
        titleSpan.className = 'vs-toc-text';
        titleSpan.textContent = title;
        link.append(number, titleSpan);
        link.setAttribute('aria-label', label);
        container.appendChild(link);
        links.push({ link, index, desktop: container === tocLinks });
      });
      return { heading, label, title, slug, hash };
    });

    function updateIndicator() {
      const item = links.find(item => item.desktop && item.index === activeSection);
      if (!item || !item.link.getClientRects().length) return;
      indicator.style.height = item.link.offsetHeight + 'px';
      indicator.style.transform = 'translateY(' + item.link.offsetTop + 'px)';
    }
    function setActiveSection(index) {
      if (index === activeSection) return;
      activeSection = index;
      links.forEach(item => {
        if (item.index === index) item.link.setAttribute('aria-current', 'location');
        else item.link.removeAttribute('aria-current');
      });
      currentLabel.textContent = sections[index].title;
      currentLabel.title = sections[index].label;
      updateIndicator();
      if (!mobileLayout.matches) {
        const item = links.find(item => item.desktop && item.index === index);
        const pane = tocLinks.parentElement;
        if (item && item.link.getClientRects().length) {
          const row = item.link.getBoundingClientRect(), bounds = pane.getBoundingClientRect();
          if (row.bottom > bounds.bottom - 8) pane.scrollTop += row.bottom - bounds.bottom + 8;
          else if (row.top < bounds.top + 8) pane.scrollTop -= bounds.top + 8 - row.top;
        }
      }
    }
    function syncReadingPosition() {
      if (page !== 'paper') return;
      const threshold = mobileLayout.matches ? 112 : 65;
      let current = 0;
      sections.forEach((section, index) => {
        if (section.heading.getBoundingClientRect().top <= threshold) current = index;
      });
      const box = prose.getBoundingClientRect();
      if (box.bottom <= innerHeight + 12) current = sections.length - 1;
      setActiveSection(current);
      const start = box.top + scrollY - threshold;
      const finish = Math.max(start + 1, box.bottom + scrollY - innerHeight);
      const ratio = Math.max(0, Math.min(1, (scrollY - start) / (finish - start)));
      progressLine.style.transform = 'scaleX(' + ratio.toFixed(4) + ')';
      root.style.setProperty('--vs-read-progress', (ratio * 100).toFixed(2) + '%');
      const value = Math.round(ratio * 100);
      if (value !== progressValue) {
        progressValue = value;
        progress.setAttribute('aria-valuenow', String(value));
      }
    }
    function queueReadingUpdate() {
      if (page !== 'paper' || readingFrame) return;
      readingFrame = requestAnimationFrame(() => {
        readingFrame = 0;
        syncReadingPosition();
        updateIndicator();
      });
    }
    function animateEntry(next) {
      entryAnimations.forEach(animation => animation.cancel());
      entryAnimations = [];
      if (reduced.matches || !Element.prototype.animate) return;
      const targets = next === 'home'
        ? [...landing.querySelectorAll('.vs-title span, .vs-description, .vs-primary'), root.querySelector('[data-vs-art]')]
        : [root.querySelector('.vs-doc-header'), root.querySelector('.vs-abstract')];
      targets.forEach((element, index) => {
        entryAnimations.push(element.animate([
          { opacity: 0, transform: 'translateY(' + (next === 'home' ? 9 : 6) + 'px)' },
          { opacity: 1, transform: 'translateY(0)' }
        ], { duration: next === 'home' ? 650 : 380, delay: index * (next === 'home' ? 65 : 40), easing: 'cubic-bezier(.22,1,.36,1)', fill: 'backwards' }));
      });
    }
    function readRoute() {
      const hash = location.hash;
      const legacy = /^#vs-paper-section-(\d+)$/.exec(hash);
      if (legacy) return { page: 'paper', section: sections[Number(legacy[1])] || null };
      if (hash === '#whitepaper' || hash.startsWith('#whitepaper/')) {
        const slug = hash.slice('#whitepaper/'.length);
        return { page: 'paper', section: sections.find(section => section.slug === slug) || null };
      }
      return { page: 'home', section: null };
    }
    function showRoute(initial = false) {
      const route = readRoute();
      const changed = route.page !== page;
      page = route.page;
      root.dataset.page = page;
      landing.hidden = page !== 'home';
      doc.hidden = page !== 'paper';
      progress.hidden = page !== 'paper';
      navLabel.textContent = page === 'home' ? 'Whitepaper' : 'Home';
      nav.href = page === 'home' ? '#whitepaper' : '#home';
      document.title = page === 'paper' ? 'Whitepaper · VolaSet Protocol' : 'VolaSet Protocol';
      mobileContents.open = false;
      resetPointer(true);
      if (page === 'home') {
        if (readingFrame) cancelAnimationFrame(readingFrame);
        readingFrame = 0;
        root.scrollIntoView({ block: 'start', behavior: 'instant' });
        resizeArt();
        start();
        if (!initial) landing.focus({ preventScroll: true });
      } else {
        cancelAnimationFrame(frame); frame = 0;
        const target = route.section ? route.section.heading : docTitle;
        if (route.section) {
          target.scrollIntoView({ block: 'start', behavior: initial || changed || reduced.matches ? 'instant' : 'smooth' });
        } else {
          root.scrollIntoView({ block: 'start', behavior: initial || changed || reduced.matches ? 'instant' : 'smooth' });
        }
        if (!initial) target.focus({ preventScroll: true });
        syncReadingPosition(); updateIndicator();
      }
      if ((initial || changed) && !route.section) animateEntry(page);
    }
    window.addEventListener('hashchange', () => showRoute());
    root.addEventListener('click', event => {
      const anchor = event.target.closest('a[href^="#"]');
      if (!anchor || event.defaultPrevented || event.button !== 0 || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey) return;
      const hash = anchor.getAttribute('href');
      if (anchor.classList.contains('vs-skip-link')) {
        event.preventDefault();
        const target = page === 'paper' ? docTitle : landing;
        target.focus({ preventScroll: true });
        target.scrollIntoView({ block: 'start', behavior: 'instant' });
        return;
      }
      if (hash === location.hash) {
        event.preventDefault(); showRoute();
      }
    });
    mobileContents.addEventListener('toggle', () => {
      if (!mobileContents.open || reduced.matches || !mobileToc.animate) return;
      if (contentsAnimation) contentsAnimation.cancel();
      contentsAnimation = mobileToc.animate([{ opacity: 0, transform: 'translateY(-4px)' }, { opacity: 1, transform: 'translateY(0)' }], { duration: 220, easing: 'cubic-bezier(.22,1,.36,1)' });
    });
    mobileContents.addEventListener('keydown', event => {
      if (event.key === 'Escape' && mobileContents.open) {
        mobileContents.open = false; mobileSummary.focus(); event.preventDefault();
      }
    });
    document.addEventListener('pointerdown', event => {
      if (mobileContents.open && !mobileContents.contains(event.target)) mobileContents.open = false;
    });
    window.addEventListener('scroll', queueReadingUpdate, { passive: true });
    window.addEventListener('resize', queueReadingUpdate, { passive: true });

    const primary = root.querySelector('.vs-primary');
    primary.addEventListener('pointermove', event => {
      if (!finePointer.matches || reduced.matches) return;
      const box = primary.getBoundingClientRect();
      primary.style.setProperty('--vs-button-x', (event.clientX - box.left) + 'px');
      primary.style.setProperty('--vs-button-y', (event.clientY - box.top) + 'px');
    }, { passive: true });

    /* Continuous canvas motion; the surface response is damped separately. */
    const artArea = root.querySelector('.vs-art');
    const art = root.querySelector('[data-vs-art]');
    const waves = root.querySelector('[data-vs-waves]');
    const artContext = art.getContext('2d');
    const waveContext = waves.getContext('2d');
    let frame = 0, elapsed = 0, previous = 0, resizeFrame = 0;
    const pointer = { x: 0, y: 0, vx: 0, vy: 0, strength: 0, targetX: 0, targetY: 0, targetStrength: 0 };
    const meshes = new Map();
    let artSize = { width: 0, height: 0, ratio: 1 }, waveSize = { width: 0, height: 0, ratio: 1 };
    function sizeCanvas(canvas) {
      const box = canvas.getBoundingClientRect();
      const ratio = Math.min(devicePixelRatio || 1, finePointer.matches ? 2 : 1.5);
      const width = Math.max(1, Math.round(box.width * ratio));
      const height = Math.max(1, Math.round(box.height * ratio));
      if (canvas.width !== width) canvas.width = width;
      if (canvas.height !== height) canvas.height = height;
      return { width: box.width, height: box.height, ratio };
    }
    function resetPointer(immediate = false) {
      pointer.targetX = 0; pointer.targetY = 0; pointer.targetStrength = 0;
      if (immediate) {
        pointer.x = 0; pointer.y = 0; pointer.vx = 0; pointer.vy = 0; pointer.strength = 0;
      }
    }
    function trackPointer(event) {
      if (reduced.matches || !finePointer.matches || event.pointerType === 'touch' || page !== 'home') return;
      const box = artArea.getBoundingClientRect();
      if (!box.width || !box.height) return;
      pointer.targetX = Math.max(-1, Math.min(1, (event.clientX - box.left) / box.width * 2 - 1));
      pointer.targetY = Math.max(-1, Math.min(1, (event.clientY - box.top) / box.height * 2 - 1));
      pointer.targetStrength = 1;
    }
    artArea.addEventListener('pointerenter', trackPointer, { passive: true });
    artArea.addEventListener('pointermove', trackPointer, { passive: true });
    artArea.addEventListener('pointerleave', () => resetPointer(), { passive: true });
    artArea.addEventListener('pointercancel', () => resetPointer(), { passive: true });
    window.addEventListener('blur', () => resetPointer());
    finePointer.addEventListener('change', () => { resetPointer(true); meshes.clear(); resizeArt(); });
    reduced.addEventListener('change', () => {
      resetPointer(true);
      entryAnimations.forEach(animation => animation.cancel());
      if (contentsAnimation) contentsAnimation.cancel();
    });
    function getMesh(layer, segments, rows) {
      if (meshes.has(layer)) return meshes.get(layer);
      const points = Array.from({ length: (segments + 1) * (rows + 1) }, () => ({ x: 0, y: 0, z: 0 }));
      const parts = [];
      for (let i = 0; i < segments; i++) for (let j = 0; j < rows; j++) {
        const a = i * (rows + 1) + j, b = (i + 1) * (rows + 1) + j;
        parts.push({ p: [points[a], points[b], points[b + 1], points[a + 1]], z: 0, u: (i + .5) / segments, v: (j + .5) / rows - .5 });
      }
      const mesh = { points, parts };
      meshes.set(layer, mesh);
      return mesh;
    }
    function drawRibbon(ctx, time, config, layer) {
      const segments = finePointer.matches ? 144 : 88, rows = 1;
      const { offset, alpha, width, amplitude, depth } = config;
      const mesh = getMesh(layer, segments, rows);
      const destination = ctx;
      const translucent = alpha < 1;
      if (translucent) {
        if (!mesh.surface) {
          mesh.surface = document.createElement('canvas');
          mesh.context = mesh.surface.getContext('2d');
        }
        const ratio = Math.min(2, artSize.ratio * Math.min(artSize.width / 560, artSize.height / 420));
        const width = Math.max(1, Math.ceil(560 * ratio)), height = Math.max(1, Math.ceil(420 * ratio));
        if (mesh.surface.width !== width) mesh.surface.width = width;
        if (mesh.surface.height !== height) mesh.surface.height = height;
        ctx = mesh.context;
        ctx.setTransform(ratio, 0, 0, ratio, 0, 0);
        ctx.clearRect(0, 0, 560, 420);
      }
      const focusU = (pointer.x + 1) / 2;
      const focusX = 280 + pointer.x * 230, focusY = 210 + pointer.y * 175;
      for (let i = 0; i <= segments; i++) {
        const u = i / segments;
        const phase = u * Math.PI * 2.03 - .88 + time * .09;
        const influence = Math.exp(-Math.pow((u - focusU) / .27, 2)) * pointer.strength;
        const angle = .45 + Math.sin(phase + .6) + pointer.x * .065 * influence;
        const baseY = 228 + Math.sin(phase) * (amplitude + pointer.strength * 2.5) + offset + pointer.y * 6 * influence;
        const widthX = width * Math.sin(angle) * .42, widthY = width * Math.cos(angle);
        for (let j = 0; j <= rows; j++) {
          const v = j / rows - .5, point = mesh.points[i * (rows + 1) + j];
          point.x = 58 + u * 446 + v * widthX;
          point.y = baseY + v * widthY;
          point.z = Math.cos(phase) * depth;
        }
      }
      mesh.parts.forEach(part => { part.z = (part.p[0].z + part.p[1].z) / 2; });
      mesh.parts.sort((a, b) => a.z - b.z);
      const highlightU = .48 + Math.sin(time * .12) * .26;
      ctx.globalAlpha = 1; ctx.lineWidth = .45;
      for (const part of mesh.parts) {
        const p = part.p;
        const centerX = (p[0].x + p[2].x) / 2, centerY = (p[0].y + p[2].y) / 2;
        const cursorLight = Math.exp(-Math.pow((centerX - focusX) / 115, 2) - Math.pow((centerY - focusY) / 110, 2)) * pointer.strength;
        const reflection = Math.exp(-Math.pow((part.u - highlightU) / .14, 2));
        const baseLight = 62 + Math.sin(part.u * Math.PI * 2.03 - .8 + time * .09) * 13 + cursorLight * 9;
        const gradient = ctx.createLinearGradient(p[0].x, p[0].y, p[3].x, p[3].y);
        for (let stop = 0; stop <= 8; stop++) {
          const v = stop / 8 - .5;
          const light = Math.min(91, baseLight + Math.cos((v + .2) * Math.PI * 2) * 7 + reflection * 7 * Math.pow(Math.cos(v * Math.PI), 2));
          gradient.addColorStop(stop / 8, 'hsl(' + (43 + reflection) + ',' + (50 + v * 8 - cursorLight * 7) + '%,' + light + '%)');
        }
        ctx.fillStyle = gradient;
        ctx.strokeStyle = gradient;
        ctx.beginPath(); ctx.moveTo(p[0].x, p[0].y); ctx.lineTo(p[1].x, p[1].y); ctx.lineTo(p[2].x, p[2].y); ctx.lineTo(p[3].x, p[3].y); ctx.closePath(); ctx.fill(); ctx.stroke();
      }
      for (let edge = 0; edge < 2; edge++) {
        ctx.globalAlpha = edge ? .14 : .45 + pointer.strength * .12;
        ctx.strokeStyle = edge ? '#8d692e' : '#fff9e5'; ctx.lineWidth = edge ? .65 : .85; ctx.beginPath();
        for (let i = 0; i <= segments; i++) {
          const point = mesh.points[i * (rows + 1) + (edge ? rows : 0)];
          if (i) ctx.lineTo(point.x, point.y); else ctx.moveTo(point.x, point.y);
        }
        ctx.stroke();
      }
      ctx.globalAlpha = 1;
      if (translucent) {
        destination.save();
        destination.globalAlpha = alpha;
        destination.drawImage(mesh.surface, 0, 0, 560, 420);
        destination.restore();
      }
    }
    function draw(time) {
      if (!artContext || !waveContext || !artSize.width || !waveSize.width) return;
      const c = artContext, s = artSize;
      c.setTransform(s.ratio, 0, 0, s.ratio, 0, 0); c.clearRect(0, 0, s.width, s.height);
      c.save(); c.translate(s.width * .5, s.height * .5);
      const scale = Math.min(s.width / 560, s.height / 420);
      c.scale(scale, scale); c.translate(-280, -210);
      const glowX = 310 + pointer.x * 22, glowY = 233 + pointer.y * 14;
      const glow = c.createRadialGradient(glowX, glowY, 12, glowX, glowY, 215);
      glow.addColorStop(0, 'rgba(244,230,184,' + (.23 + pointer.strength * .08) + ')'); glow.addColorStop(1, 'rgba(255,255,255,0)');
      c.fillStyle = glow; c.fillRect(24, 0, 550, 432);
      c.save(); c.translate(280, 210); c.translate(pointer.x * 10, Math.sin(time * .24) * 5 + pointer.y * 7); c.rotate(-.09 + pointer.x * .02);
      const hoverScale = 1 + pointer.strength * .014;
      c.scale(hoverScale, hoverScale); c.translate(-280, -210);
      drawRibbon(c, time + 4, { offset: -34 - pointer.strength * 3, alpha: .15, width: 53, amplitude: 61, depth: 25 }, 0);
      drawRibbon(c, time + 2, { offset: 30 + pointer.strength * 3, alpha: .19, width: 53, amplitude: 70, depth: 23 }, 1);
      drawRibbon(c, time, { offset: 0, alpha: 1, width: 63, amplitude: 74, depth: 30 }, 2);
      c.restore(); c.restore();
      const w = waveContext, b = waveSize;
      w.setTransform(b.ratio, 0, 0, b.ratio, 0, 0); w.clearRect(0, 0, b.width, b.height);
      const contour = w.createLinearGradient(b.width * .5, 0, b.width, b.height * .55);
      contour.addColorStop(0, 'rgba(182,148,65,0)'); contour.addColorStop(.5, 'rgba(182,148,65,.09)'); contour.addColorStop(1, 'rgba(182,148,65,0)');
      w.strokeStyle = contour; w.lineWidth = .8;
      const lower = b.width < 760;
      for (let i = 0; i < 2; i++) {
        const shift = i * 10 + Math.sin(time * .12) * 3;
        w.beginPath(); w.moveTo(b.width * .52, b.height * (lower ? .54 : .31) + shift);
        w.bezierCurveTo(b.width * .74, b.height * (lower ? .41 : .14) + shift, b.width * .95, b.height * (lower ? .64 : .42) + shift, b.width * 1.08, b.height * (lower ? .58 : .24) + shift); w.stroke();
      }
      const background = w.createLinearGradient(0, 0, b.width, 0);
      background.addColorStop(0, 'rgba(204,169,77,0)'); background.addColorStop(.4, 'rgba(204,169,77,.025)'); background.addColorStop(1, 'rgba(204,169,77,.1)');
      for (let j = 0; j < 3; j++) {
        w.strokeStyle = background; w.lineWidth = j === 0 ? 1.5 : .8; w.beginPath();
        for (let x = 0; x <= b.width + 5; x += 5) {
          const y = b.height * .82 + Math.sin(x / b.width * 6 + time * .11 + j * .23) * 25 + j * 8;
          if (x) w.lineTo(x, y); else w.moveTo(x, y);
        }
        w.stroke();
      }
    }
    function tick(timestamp) {
      if (page !== 'home' || document.hidden || !root.isConnected) { frame = 0; return; }
      const interval = 1000 / (finePointer.matches ? 60 : 30);
      if (previous && timestamp - previous < interval - .5) { frame = requestAnimationFrame(tick); return; }
      const dt = previous ? Math.min((timestamp - previous) / 1000, .05) : 1 / 60;
      elapsed += dt * (reduced.matches ? .25 : 1); previous = timestamp;
      const stiffness = pointer.targetStrength ? 72 : 46, damping = pointer.targetStrength ? 17 : 14;
      pointer.vx += ((pointer.targetX - pointer.x) * stiffness - pointer.vx * damping) * dt;
      pointer.vy += ((pointer.targetY - pointer.y) * stiffness - pointer.vy * damping) * dt;
      pointer.x += pointer.vx * dt; pointer.y += pointer.vy * dt;
      pointer.strength += (pointer.targetStrength - pointer.strength) * (1 - Math.exp(-dt * 4.5));
      draw(elapsed); frame = requestAnimationFrame(tick);
    }
    function start() {
      if (page === 'home' && !document.hidden && !frame && artContext && waveContext) {
        previous = 0; frame = requestAnimationFrame(tick);
      }
    }
    function resizeArt() {
      if (page !== 'home') return;
      artSize = sizeCanvas(art); waveSize = sizeCanvas(waves); draw(elapsed);
    }
    if ('ResizeObserver' in window) new ResizeObserver(() => {
      if (page !== 'home' || resizeFrame) return;
      resizeFrame = requestAnimationFrame(() => { resizeFrame = 0; resizeArt(); });
    }).observe(landing);
    else window.addEventListener('resize', resizeArt, { passive: true });
    document.addEventListener('visibilitychange', () => {
      if (document.hidden) { cancelAnimationFrame(frame); frame = 0; resetPointer(true); }
      else { previous = 0; start(); }
    });
    setActiveSection(0);
    showRoute(true);
  }
  if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', init, { once: true });
  else init();
})();

</script>
</div>

<style>
html, body { margin:0; min-width:320px; background:#fff; color:#242626; }
html { scroll-behavior:smooth; }
body { -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
button, a { touch-action:manipulation; }
button { cursor:pointer; }
button:focus-visible, a:focus-visible { outline:2px solid #a98129; outline-offset:5px; }
#volaset-preview { width:100%; max-width:none; min-height:100vh; min-height:100svh; margin:0; }
#volaset-preview .vs-home { display:flex; flex-direction:column; min-height:max(544px,calc(100vh - 94px)); min-height:max(544px,calc(100svh - 94px)); }
#volaset-preview .vs-content { flex:1; }
#volaset-preview .vs-bottom { flex-shrink:0; }
#volaset-preview .vs-art { top:50%; transform:translateY(-55%); height:clamp(452px,56vh,590px); }
#volaset-preview .vs-document { max-width:1240px; margin:0 auto; }
#volaset-preview .vs-toc { position:sticky; top:28px; }
#volaset-preview .vs-title { font-size:clamp(38px,4.5vw,64px); }
#volaset-preview .vs-prose strong { font-weight:600; }
@media(max-width:640px) {
  #volaset-preview .vs-home { min-height:max(609px,calc(100vh - 78px)); min-height:max(609px,calc(100svh - 78px)); }
  #volaset-preview .vs-art { top:auto; bottom:20px; transform:none; height:295px; }
  #volaset-preview .vs-title { font-size:38px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* Mobile layout: content, illustration and footer each have their own row. */
@media (max-width:760px), (max-width:1000px) and (max-height:520px) and (pointer:coarse) {
  html { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
  #volaset-preview {
    --vs-mobile-gutter:clamp(18px,5.3vw,28px);
    --vs-mobile-left:max(var(--vs-mobile-gutter),env(safe-area-inset-left,0px));
    --vs-mobile-right:max(var(--vs-mobile-gutter),env(safe-area-inset-right,0px));
    --vs-header-height:72px;
  }
  #volaset-preview .vs-header {
    height:calc(var(--vs-header-height) + env(safe-area-inset-top,0px));
    padding-top:env(safe-area-inset-top,0px);
    margin:0 var(--vs-mobile-right) 0 var(--vs-mobile-left);
    gap:12px;
  }
  #volaset-preview .vs-brand { width:179px; height:44px; }
  #volaset-preview .vs-brand img { width:408px; height:136px; left:-122px; top:-44px; }
  #volaset-preview .vs-nav { min-height:44px; padding:10px 0 10px 8px; font-size:13px; gap:6px; }
  #volaset-preview .vs-nav svg { width:14px; height:14px; flex:none; }
  #volaset-preview .vs-home {
    display:grid;
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:auto minmax(150px,1fr) auto;
    min-height:calc(100vh - var(--vs-header-height) - env(safe-area-inset-top,0px));
    min-height:calc(100svh - var(--vs-header-height) - env(safe-area-inset-top,0px));
    background:radial-gradient(ellipse 116% 68% at 70% 72%,rgba(224,196,118,.28),transparent 86%),#fff;
  }
  #volaset-preview .vs-content {
    grid-column:1; grid-row:1; display:block; align-self:start;
    min-height:0;
    padding:clamp(28px,5vh,44px) var(--vs-mobile-right) 8px var(--vs-mobile-left);
    padding-top:clamp(28px,5svh,44px);
  }
  #volaset-preview .vs-copy { max-width:100%; }
  #volaset-preview .vs-title { font-size:clamp(34px,9.7vw,42px); line-height:1.25; letter-spacing:-1.2px; margin-bottom:18px; }
  #volaset-preview .vs-description { font-size:15px; line-height:1.8; letter-spacing:0; }
  #volaset-preview .vs-primary { min-height:48px; width:min(100%,200px); margin-top:24px; padding:0 20px; font-size:14px; }
  #volaset-preview .vs-art {
    grid-column:1; grid-row:2; position:relative;
    top:auto; right:auto; bottom:auto; left:auto; transform:none;
    width:100%; height:100%; min-height:150px; max-height:310px;
    align-self:center; justify-self:center;
  }
  #volaset-preview .vs-art canvas { position:absolute; inset:0; }
  #volaset-preview .vs-background::before {
    -webkit-mask-image:radial-gradient(ellipse 70% 35% at 82% 68%,#000 2%,transparent 92%);
    mask-image:radial-gradient(ellipse 70% 35% at 82% 68%,#000 2%,transparent 92%);
    opacity:.4;
  }
  #volaset-preview .vs-bottom {
    grid-column:1; grid-row:3;
    margin:0 var(--vs-mobile-right) 0 var(--vs-mobile-left);
    min-height:60px; gap:8px; padding:8px 0 max(8px,env(safe-area-inset-bottom,0px));
  }
  #volaset-preview .vs-footer-meta { min-width:0; gap:6px; flex-wrap:nowrap; }
  #volaset-preview .vs-copyright { font-size:11.5px; letter-spacing:0; white-space:nowrap; }
  #volaset-preview .vs-x-link { flex:none; min-width:44px; min-height:44px; }
  #volaset-preview .vs-document { padding:24px var(--vs-mobile-right) 16px var(--vs-mobile-left); }
  #volaset-preview .vs-doc-header { padding:24px 20px; margin-bottom:18px; }
  #volaset-preview .vs-doc-header h1 { font-size:32px; }
  #volaset-preview .vs-doc-header p { font-size:14px; line-height:1.8; }
  #volaset-preview .vs-doc-header::before { right:-260px; }
  #volaset-preview .vs-doc-header::after { right:-270px; }
  #volaset-preview .vs-doc-meta { margin-top:18px; }
  #volaset-preview .vs-doc-layout { display:block; }
  #volaset-preview .vs-toc { display:none; }
  #volaset-preview .vs-mobile-toc {
    display:block; position:sticky; top:max(8px,env(safe-area-inset-top,0px)); z-index:4;
    margin-bottom:22px; padding:0 14px; background:#fcfaf5;
    border:1px solid #e8e0ce; border-radius:6px;
    box-shadow:0 4px 14px rgba(70,56,24,.045);
  }
  #volaset-preview .vs-mobile-toc summary { min-height:48px; padding:13px 0; font-size:14px; line-height:22px; color:#796338; cursor:pointer; }
  #volaset-preview .vs-mobile-toc nav { display:grid; gap:2px; max-height:55vh; max-height:55svh; overflow-y:auto; overscroll-behavior:contain; padding:0 0 10px; }
  #volaset-preview .vs-mobile-toc a { display:flex; align-items:center; min-height:44px; padding:9px 10px; font-size:14px; line-height:1.7; color:var(--vs-muted); text-decoration:none; border-radius:4px; }
  #volaset-preview .vs-mobile-toc a[aria-current="location"] { color:#8c6825; background:#f5edda; }
  #volaset-preview .vs-prose { max-width:none; font-size:16px; line-height:1.85; overflow-wrap:break-word; }
  #volaset-preview .vs-prose p { margin-bottom:18px; }
  #volaset-preview .vs-prose h3 { font-size:20px; margin-top:34px; padding-top:22px; scroll-margin-top:calc(84px + env(safe-area-inset-top,0px)); }
  #volaset-preview .vs-abstract { padding:19px 16px; }
  #volaset-preview .vs-prose .vs-abstract h3 { font-size:17px; }
  #volaset-preview .vs-prose table { font-size:14px; line-height:1.8; }
  #volaset-preview .vs-prose th,#volaset-preview .vs-prose td { padding:12px 10px; }
  #volaset-preview .vs-prose th:first-child { width:35%; }
  #volaset-preview .vs-prose .vs-equation { font-size:14px; line-height:1.85; padding:14px; overflow-wrap:anywhere; }
  #volaset-preview .vs-prose .vs-structure { padding:18px 12px; font-size:13px; line-height:1.7; }
  #volaset-preview .vs-structure .vs-node-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  #volaset-preview .vs-structure .vs-node { min-width:0; padding:10px 8px; overflow-wrap:anywhere; }
  #volaset-preview .vs-structure .vs-connector { gap:3px; padding:8px 0; }
  #volaset-preview .vs-structure .vs-flow-row { grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr); gap:6px; }
  #volaset-preview .vs-structure .vs-note { font-size:12px; line-height:1.8; margin-top:14px; }
  #volaset-preview .vs-doc-footer { margin:32px 0 0; }
}
@media(max-width:360px) {
  #volaset-preview .vs-brand { width:167px; }
  #volaset-preview .vs-brand img { width:384px; height:128px; left:-115px; top:-40px; }
  #volaset-preview .vs-content { padding-top:24px; }
  #volaset-preview .vs-primary { margin-top:20px; }
  #volaset-preview .vs-doc-header { padding:22px 17px; }
}
@media(max-width:1000px) and (max-height:520px) and (pointer:coarse) and (orientation:landscape) {
  #volaset-preview { --vs-header-height:64px; }
  #volaset-preview .vs-home { grid-template-columns:minmax(0,1fr) minmax(200px,.9fr); grid-template-rows:1fr auto; }
  #volaset-preview .vs-content { grid-column:1; grid-row:1; align-self:center; padding-top:18px; padding-bottom:18px; }
  #volaset-preview .vs-title { font-size:30px; line-height:1.2; margin-bottom:14px; }
  #volaset-preview .vs-description { font-size:14px; line-height:1.65; }
  #volaset-preview .vs-primary { min-height:44px; margin-top:16px; width:180px; }
  #volaset-preview .vs-art { grid-column:2; grid-row:1; min-height:150px; max-height:250px; }
  #volaset-preview .vs-home > .vs-bottom { grid-column:1 / -1; grid-row:2; }
}
@media(hover:none) {
  #volaset-preview .vs-primary:hover { background:#e2c573; border-color:#e2c573; transform:none; }
  #volaset-preview .vs-primary:hover svg { transform:none; }
  #volaset-preview .vs-primary:active { background:#dabc62; border-color:#dabc62; }
}


/* English typography and control sizing. */
#volaset-preview[lang="en"] .vs-title { letter-spacing:-.035em; }
#volaset-preview[lang="en"] .vs-description { max-width:440px; }
#volaset-preview[lang="en"] .vs-primary { gap:24px; white-space:nowrap; }
#volaset-preview[lang="en"] .vs-prose { font-size:16px; line-height:1.8; }
@media (max-width:760px), (max-width:1000px) and (max-height:520px) and (pointer:coarse) {
  #volaset-preview[lang="en"] .vs-primary { width:min(100%,210px); }
}
</style>
<style id="volaset-refinements">
/* Shared rhythm, interaction states and reading details. */
#volaset-preview {
  --vs-ease:cubic-bezier(.22,1,.36,1);
  --vs-surface:#fffdf8;
  --vs-read-progress:0%;
  font-family:Arial,"Helvetica Neue",sans-serif;
  font-kerning:normal;
}
#volaset-preview ::selection { background:#ecdcaa; color:#322b1a; }
#volaset-preview a { text-decoration:none; }
#volaset-preview :is(button,a,summary):focus-visible { outline:2px solid #987227; outline-offset:5px; border-radius:5px; }
#volaset-preview :is(main,h1,h3)[tabindex="-1"]:focus { outline:none; }
#volaset-preview .vs-skip-link { position:fixed; top:12px; left:18px; z-index:100; padding:12px 18px; color:#403515; background:#fffaf0; border:1px solid #d5bb77; border-radius:6px; transform:translateY(-160%); }
#volaset-preview .vs-skip-link:focus { transform:translateY(0); }
#volaset-preview .vs-header { border-bottom-color:transparent; }
#volaset-preview .vs-header::after { content:""; position:absolute; inset:auto 0 0; height:1px; background:linear-gradient(90deg,#e8e5dc,rgba(232,229,220,.5) 65%,#e8e5dc); pointer-events:none; }
#volaset-preview .vs-brand { transition:opacity .25s ease; }
#volaset-preview .vs-brand:hover { opacity:.8; }
#volaset-preview .vs-nav { position:relative; text-underline-offset:7px; }
#volaset-preview .vs-nav::after { content:""; height:1px; position:absolute; left:16px; right:28px; bottom:9px; background:currentColor; transform:scaleX(0); transform-origin:left; transition:transform .32s var(--vs-ease); opacity:.65; }
#volaset-preview .vs-nav:hover::after,#volaset-preview .vs-nav:focus-visible::after { transform:scaleX(1); }
#volaset-preview .vs-nav svg { transition:transform .4s var(--vs-ease); }
#volaset-preview[data-page="paper"] .vs-nav svg { transform:rotate(-135deg); }
#volaset-preview .vs-home { background:radial-gradient(ellipse 78% 92% at 88% 45%,rgba(227,201,132,.29),transparent 78%),radial-gradient(ellipse 68% 55% at 20% 104%,rgba(239,222,175,.19),transparent 86%),linear-gradient(125deg,#fff 24%,#fffefb 100%); }
#volaset-preview .vs-title { line-height:1.17; font-weight:400; }
#volaset-preview .vs-description { line-height:1.85; color:#646961; letter-spacing:0; }
#volaset-preview .vs-primary {
  position:relative; isolation:isolate; overflow:hidden; border-radius:7px;
  background:linear-gradient(140deg,#e8cf88,#ddbe69);
  border:1px solid #d8ba6b;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.48),0 2px 4px rgba(104,78,21,.05);
  transition:transform .32s var(--vs-ease),box-shadow .32s var(--vs-ease),border-color .25s ease;
}
#volaset-preview .vs-primary::before { content:""; position:absolute; inset:0; z-index:-1; opacity:0; background:radial-gradient(ellipse at var(--vs-button-x,50%) var(--vs-button-y,30%),rgba(255,250,229,.65),transparent 75%); transition:opacity .35s ease; }
#volaset-preview .vs-primary svg { flex:none; transition:transform .35s var(--vs-ease); }
#volaset-preview .vs-primary:focus-visible { outline-offset:5px; }
#volaset-preview .vs-primary:active { transform:translateY(1px); box-shadow:inset 0 1px 3px rgba(111,81,14,.12); }
#volaset-preview .vs-x-link { border-radius:50%; transition:background .25s ease,color .25s ease,transform .3s var(--vs-ease); }
#volaset-preview .vs-x-link:active { transform:scale(.94); }
#volaset-preview .vs-bottom { border-top-color:#e8e5db; }
#volaset-preview .vs-reading-progress { position:fixed; left:0; top:0; width:100%; height:2px; z-index:50; pointer-events:none; }
#volaset-preview .vs-reading-progress > span { display:block; width:100%; height:100%; transform:scaleX(0); transform-origin:left; background:linear-gradient(90deg,#a88736,#d5b86f); transition:transform .12s linear; }
#volaset-preview .vs-document { padding-top:40px; }
#volaset-preview .vs-doc-header { padding:38px 40px 34px; border-color:#e9e3d3; border-radius:12px; box-shadow:0 2px 4px rgba(78,62,25,.018),0 10px 32px -24px rgba(78,62,25,.18); }
#volaset-preview .vs-doc-header::before { border-color:rgba(183,147,53,.19); }
#volaset-preview .vs-doc-header h1 { font-size:42px; letter-spacing:-1.15px; }
#volaset-preview .vs-doc-eyebrow { color:#8c7138; font-size:10px; letter-spacing:2px; }
#volaset-preview .vs-doc-meta { gap:12px; font-variant-numeric:tabular-nums; }
#volaset-preview .vs-meta-separator { color:#b6ad98; }
#volaset-preview .vs-doc-layout { grid-template-columns:210px minmax(0,1fr); gap:44px; }
#volaset-preview .vs-toc { top:30px; gap:0; max-height:calc(100svh - 60px); overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#ded3b8 transparent; padding:0 6px 10px 0; }
#volaset-preview .vs-toc-label { font-size:10px; letter-spacing:1.5px; text-transform:uppercase; padding-left:14px; color:#8a8679; }
#volaset-preview .vs-toc-links { position:relative; display:flex; flex-direction:column; gap:2px; isolation:isolate; }
#volaset-preview .vs-toc-indicator { position:absolute; left:0; right:0; top:0; height:0; z-index:-1; border-left:2px solid #bc9946; border-radius:0 5px 5px 0; background:linear-gradient(90deg,#f5eedb,rgba(248,243,230,.45)); transition:transform .32s var(--vs-ease),height .32s var(--vs-ease); pointer-events:none; }
#volaset-preview .vs-toc a { position:relative; display:flex; gap:11px; align-items:baseline; padding:9px 11px 9px 14px; border:0; font-size:12px; line-height:1.65; border-radius:4px; transition:color .2s ease,background .2s ease; }
#volaset-preview .vs-toc a[aria-current="location"] { background:transparent; color:#795d23; font-weight:500; }
#volaset-preview .vs-toc a[aria-current="location"] .vs-toc-number { color:#9d7932; }
#volaset-preview .vs-toc-number { flex:none; width:17px; color:#a29d90; font-size:10px; font-variant-numeric:tabular-nums; letter-spacing:.02em; }
#volaset-preview .vs-toc-text { min-width:0; }
#volaset-preview[lang="en"] .vs-prose { font-size:16px; line-height:1.85; color:#454a43; max-width:740px; }
#volaset-preview .vs-prose p { margin-bottom:20px; }
#volaset-preview .vs-prose h3 { display:flex; gap:13px; align-items:baseline; margin-top:48px; padding-top:28px; margin-bottom:18px; font-size:23px; line-height:1.4; font-weight:500; letter-spacing:-.45px; scroll-margin-top:36px; }
#volaset-preview .vs-section-number { flex:none; color:#a3874c; font-size:12px; font-weight:400; letter-spacing:0; font-variant-numeric:tabular-nums; }
#volaset-preview .vs-heading-text { min-width:0; flex:1; }
#volaset-preview .vs-section-link { flex:none; display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; margin:-3px 0 -3px 0; color:#a29370; border-radius:4px; opacity:0; transition:opacity .2s ease,color .2s ease,background .2s ease; }
#volaset-preview .vs-section-link svg { width:14px; height:14px; }
#volaset-preview .vs-prose h3:hover .vs-section-link,#volaset-preview .vs-section-link:focus-visible { opacity:1; }
#volaset-preview .vs-section-link:hover { color:#886a2e; background:#f7f1e2; }
#volaset-preview .vs-abstract { border-radius:0 8px 8px 0; padding:24px 26px; background:linear-gradient(115deg,#f8f5ec,rgba(250,248,240,.5)); }
#volaset-preview .vs-prose .vs-abstract h3 { padding:0; margin:0 0 14px; font-size:16px; letter-spacing:0; }
#volaset-preview .vs-prose li { margin:9px 0; padding-left:3px; }
#volaset-preview .vs-prose ol { counter-reset:vs-step; list-style:none; padding-left:0; margin:22px 0 26px; }
#volaset-preview .vs-prose ol li { position:relative; counter-increment:vs-step; padding:2px 0 14px 42px; margin:0; }
#volaset-preview .vs-prose ol li::before { content:counter(vs-step,decimal-leading-zero); position:absolute; left:0; top:2px; width:27px; height:27px; display:grid; place-items:center; border:1px solid #e8dec6; background:#fcfaf3; border-radius:50%; color:#8d7237; font-size:10px; line-height:1; font-variant-numeric:tabular-nums; }
#volaset-preview .vs-prose ol li:not(:last-child)::after { content:""; position:absolute; width:1px; left:13px; top:34px; bottom:6px; background:#eae3d2; }
#volaset-preview .vs-table-shell { border-color:#e7e1d2; border-radius:9px; box-shadow:0 2px 5px rgba(86,65,24,.02); }
#volaset-preview .vs-prose table { font-size:14px; line-height:1.75; }
#volaset-preview .vs-prose th { background:#f7f4eb; color:#6c603f; font-size:12px; }
#volaset-preview .vs-prose td { transition:background .2s ease; }
#volaset-preview .vs-prose td:first-child { color:#343b31; }
#volaset-preview .vs-prose .vs-figure-title { margin-top:32px; margin-bottom:12px; color:#8b713a; font-size:11px; }
#volaset-preview .vs-figure-title strong { font-weight:400; }
#volaset-preview .vs-prose .vs-structure { border-color:#e9e3d4; border-radius:10px; padding:28px; background-image:radial-gradient(circle,rgba(155,130,64,.13) .55px,transparent .8px),linear-gradient(150deg,#fcfaf4,#fffdf9); background-size:22px 22px,100% 100%; }
#volaset-preview .vs-structure .vs-node { border-radius:6px; border-color:#e4dcc8; box-shadow:0 1px 2px rgba(86,65,24,.035),inset 0 1px 0 #fff; }
#volaset-preview .vs-structure > .vs-node { background:linear-gradient(135deg,#f5eedb,#faf6e9); color:#6c592b; }
#volaset-preview .vs-structure .vs-connector { gap:3px; padding:9px 0; font-size:11px; }
#volaset-preview .vs-structure .vs-flow-row { margin-top:14px; }
#volaset-preview .vs-structure > .vs-node + .vs-flow-row { padding-top:16px; border-top:1px solid #e9e3d3; }
#volaset-preview .vs-prose .vs-equation { background:linear-gradient(120deg,#f7f2e4,#fcfaf3); border-left-color:#c2a154; border-radius:0 7px 7px 0; line-height:1.8; padding:20px 22px; }
#volaset-preview .vs-back-top { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; font-size:12px; color:#827047; transition:color .2s ease; white-space:nowrap; }
#volaset-preview .vs-back-top svg { width:15px; height:15px; transition:transform .3s var(--vs-ease); }
#volaset-preview .vs-back-top:hover { color:#57451f; }
#volaset-preview .vs-back-top:hover svg { transform:translateY(-3px); }
#volaset-preview .vs-mobile-toc summary { list-style:none; }
#volaset-preview .vs-mobile-toc summary::-webkit-details-marker { display:none; }
#volaset-preview .vs-mobile-toc summary svg { width:16px; height:16px; flex:none; transition:transform .3s var(--vs-ease); }
#volaset-preview .vs-mobile-toc[open] summary svg { transform:rotate(180deg); }
#volaset-preview .vs-current-section { min-width:0; flex:1; text-align:right; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font-size:12px; color:#777164; font-weight:400; }
@media(hover:hover) and (pointer:fine) {
  #volaset-preview .vs-primary:hover { background:linear-gradient(140deg,#e8cf88,#ddbe69); border-color:#cdaa56; transform:translateY(-2px); box-shadow:inset 0 1px 0 rgba(255,255,255,.58),0 6px 16px -7px rgba(113,85,20,.28); }
  #volaset-preview .vs-primary:hover::before { opacity:1; }
  #volaset-preview .vs-primary:hover svg { transform:translateX(3px); }
  #volaset-preview .vs-primary:active { transform:translateY(1px); }
  #volaset-preview .vs-x-link:hover { background:#f5efdF; color:#876622; transform:translateY(-1px); }
  #volaset-preview .vs-prose tbody tr:hover td { background:#faf6eb; }
}
@media(min-width:761px) and (max-width:1000px) and (min-height:521px) {
  #volaset-preview .vs-doc-layout { grid-template-columns:175px minmax(0,1fr); gap:28px; }
  #volaset-preview .vs-toc a { padding-left:10px; gap:7px; }
}
@media (max-width:760px), (max-width:1000px) and (max-height:520px) and (pointer:coarse) {
  #volaset-preview .vs-nav::after { left:8px; right:21px; bottom:6px; }
  #volaset-preview .vs-title { line-height:1.2; }
  #volaset-preview .vs-home { background:radial-gradient(ellipse 118% 68% at 73% 75%,rgba(227,201,132,.29),transparent 86%),linear-gradient(#fff,#fffdf8); }
  #volaset-preview .vs-document { padding-top:24px; }
  #volaset-preview .vs-doc-header { padding:27px 22px 25px; border-radius:9px; margin-bottom:20px; }
  #volaset-preview .vs-doc-header h1 { font-size:34px; letter-spacing:-.9px; }
  #volaset-preview .vs-doc-eyebrow { font-size:9px; margin-bottom:10px; }
  #volaset-preview .vs-doc-meta { gap:10px; font-size:11px; }
  #volaset-preview .vs-doc-layout { display:block; }
  #volaset-preview .vs-mobile-toc { overflow:hidden; background:rgba(255,253,247,.96); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); border-radius:8px; box-shadow:0 3px 15px -7px rgba(84,65,27,.18); }
  #volaset-preview .vs-mobile-toc::after { content:""; position:absolute; left:0; bottom:0; width:var(--vs-read-progress); height:2px; background:#d1b364; transition:width .12s linear; pointer-events:none; }
  #volaset-preview .vs-mobile-toc summary { display:flex; align-items:center; gap:14px; font-size:13px; }
  #volaset-preview .vs-mobile-toc nav { padding-bottom:12px; }
  #volaset-preview .vs-mobile-toc a { gap:12px; font-size:13px; }
  #volaset-preview .vs-mobile-toc a[aria-current="location"] { color:#745b26; background:#f2ead5; }
  #volaset-preview .vs-prose h3 { font-size:21px; gap:10px; line-height:1.45; margin-top:38px; padding-top:26px; scroll-margin-top:calc(85px + env(safe-area-inset-top,0px)); }
  #volaset-preview .vs-section-number { font-size:11px; }
  #volaset-preview .vs-section-link { width:24px; height:28px; opacity:.55; }
  #volaset-preview .vs-abstract { padding:21px 18px; }
  #volaset-preview .vs-prose .vs-structure { padding:22px 14px; }
  #volaset-preview .vs-prose .vs-equation { padding:17px; }
  #volaset-preview .vs-doc-footer { flex-wrap:wrap; gap:4px 14px; padding-bottom:max(12px,env(safe-area-inset-bottom,0px)); }
  #volaset-preview .vs-doc-footer .vs-footer-meta { flex:1 0 auto; }
}
@media(prefers-reduced-motion:reduce) {
  #volaset-preview *,#volaset-preview *::before,#volaset-preview *::after { transition:none!important; animation:none!important; }
}

</style>
<!-- Embedded Lucide icons license
ISC License

Copyright (c) 2026 Lucide Icons and Contributors

Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

—-

The following Lucide icons are derived from the Feather project:

airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out

The MIT License (MIT) (for the icons listed above)

Copyright (c) 2013-present Cole Bemis

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

-->
</body>
</html>
