@font-face{font-family:Besley;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/besley-600.woff2)format("woff2")}@font-face{font-family:Besley;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/besley-400i.woff2)format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/plexsans-400.woff2)format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/plexsans-500.woff2)format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/plexsans-600.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/plexmono-400.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/plexmono-500.woff2)format("woff2")}:root{--ink:#0b0e14;--gold:#d4a94e;--gold-light:#f0cd7e;--gold-deep:#b7892e;--paper:#e8e6df;--bg:#fff;--bg-shift:#f6f5f2;--panel:var(--paper);--text:var(--ink);--text-dim:#55585f;--line:#dcdad2;--accent:var(--gold-deep);--accent-ink:var(--ink);--accent-soft:#f3e6c9;--danger:#b23b3b;--serif:"Besley", ui-serif, Georgia, serif;--sans:"IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", monospace;--measure:66ch;--radius:3px;--ease-out-quart:cubic-bezier(.25, 1, .5, 1);--ease-out-expo:cubic-bezier(.16, 1, .3, 1)}@media (prefers-color-scheme:dark){:root{--bg:var(--ink);--bg-shift:#10131a;--panel:#14171f;--text:#ece9e1;--text-dim:#999ba4;--line:#262a34;--accent:var(--gold);--accent-ink:#17130a;--accent-soft:#2a230f;--danger:#e05a5a}}:root[data-theme=dark]{--bg:var(--ink);--bg-shift:#10131a;--panel:#14171f;--text:#ece9e1;--text-dim:#999ba4;--line:#262a34;--accent:var(--gold);--accent-ink:#17130a;--accent-soft:#2a230f;--danger:#e05a5a}:root[data-theme=light]{--bg:#fff;--bg-shift:#f6f5f2;--panel:var(--paper);--text:var(--ink);--text-dim:#55585f;--line:#dcdad2;--accent:var(--gold-deep);--accent-ink:var(--ink);--accent-soft:#f3e6c9;--danger:#b23b3b}*,:before,:after{box-sizing:border-box}html{color-scheme:light dark}body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;transition:background-color .25s var(--ease-out-quart), color .25s var(--ease-out-quart);margin:0;font-size:16px;line-height:1.6}::selection{background:var(--accent-soft);color:var(--text)}a{color:inherit}h1,h2,h3{font-family:var(--serif);text-wrap:balance;margin:0;font-weight:600}code,.mono{font-family:var(--mono)}.label{font-family:var(--mono);letter-spacing:.11em;text-transform:uppercase;color:var(--text-dim);font-size:.72rem}.measure{max-width:var(--measure)}main,section,footer,.stack-layer,.split-cell,.conform-cell,.hashbox,table.rfc-table td,table.rfc-table th,.req-form input,.status-strip,.theme-toggle,.btn-ghost{transition:background-color .25s var(--ease-out-quart), border-color .25s var(--ease-out-quart), color .25s var(--ease-out-quart)}.shell{grid-template-columns:minmax(0,72px) minmax(0,1fr);max-width:1180px;margin:0 auto;display:grid}@media (width<=900px){.shell{grid-template-columns:1fr}}.rail{flex-direction:column;justify-content:center;align-self:start;gap:22px;height:100vh;padding:0 8px;display:flex;position:sticky;top:0}.rail a{font-family:var(--mono);letter-spacing:.08em;color:var(--text-dim);writing-mode:vertical-rl;font-size:.68rem;text-decoration:none;transition:color .15s;display:block;transform:rotate(180deg)}.rail a:hover,.rail a:focus-visible{color:var(--accent)}@media (width<=900px){.rail{display:none}}main{border-left:1px solid var(--line);min-width:0}@media (width<=900px){main{border-left:none}}section{border-bottom:1px solid var(--line);padding:76px 40px}@media (width<=640px){section{padding:52px 20px}}section:last-of-type{border-bottom:none}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;row-gap:14px;padding:22px 40px;display:flex}@media (width<=640px){.topbar{padding:18px 20px}}.brand{align-items:center;gap:10px;text-decoration:none;display:flex}.brand svg{width:26px;height:26px}.brand span{font-family:var(--serif);letter-spacing:.01em;font-size:1.05rem;font-weight:600}.topnav{flex-wrap:wrap;align-items:center;gap:16px 28px;display:flex}.topnav a{color:var(--text-dim);font-size:.86rem;text-decoration:none;transition:color .15s}.topnav a:hover{color:var(--text)}@media (width<=600px){.topnav{gap:10px 18px}.topnav a{font-size:.8rem}}.theme-toggle{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--line);color:var(--text-dim);border-radius:var(--radius);cursor:pointer;background:0 0;align-items:center;min-height:44px;padding:6px 14px;font-size:.68rem;display:inline-flex}.theme-toggle:hover{border-color:var(--accent);color:var(--text)}.hero{padding-top:64px;padding-bottom:88px;position:relative;overflow:hidden}.hero-seal{opacity:.07;pointer-events:none;width:460px;height:460px;animation:140s linear infinite spin;position:absolute;top:-80px;right:-120px}@media (prefers-reduced-motion:reduce){.hero-seal{animation:none}}@keyframes spin{to{transform:rotate(360deg)}}.hero-enter{opacity:0;animation:hero-rise .64s var(--ease-out-quart) forwards;animation-delay:calc(var(--i,0) * 90ms + 60ms);transform:translateY(12px)}@keyframes hero-rise{to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.hero-enter{opacity:1;animation:none;transform:none}}h1.headline{letter-spacing:-.01em;max-width:15ch;font-size:clamp(2.3rem,5vw,3.6rem);line-height:1.08}.eyebrow{align-items:center;gap:10px;margin-bottom:18px;display:inline-flex}.sub{max-width:var(--measure);color:var(--text-dim);text-wrap:pretty;margin-top:24px;font-size:1.08rem}.sub strong{color:var(--text);font-weight:600}.status-strip{border-top:1px solid var(--line);font-family:var(--mono);color:var(--text-dim);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:10px 28px;margin-top:40px;padding-top:20px;font-size:.78rem;display:flex}.status-strip .dot{color:var(--accent)}.cta-row{flex-wrap:wrap;gap:14px;margin-top:36px;display:flex}.btn{font-family:var(--sans);border-radius:var(--radius);transition:transform .12s var(--ease-out-quart), opacity .12s var(--ease-out-quart), border-color .15s var(--ease-out-quart);border:1px solid #0000;padding:12px 22px;font-size:.92rem;font-weight:600;text-decoration:none;display:inline-block}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-primary:hover{opacity:.88}.btn-ghost{border-color:var(--line);color:var(--text)}.btn-ghost:hover{border-color:var(--accent)}.section-head{grid-template-columns:44px 1fr;align-items:baseline;gap:18px;margin-bottom:40px;display:grid}.section-num{font-family:var(--mono);color:var(--accent);font-size:.82rem}.section-head h2{font-size:clamp(1.5rem,3vw,2rem)}.section-kicker{color:var(--text-dim);max-width:var(--measure);text-wrap:pretty;grid-column:2;margin-top:8px}.stack{gap:2px;max-width:620px;display:grid}.stack-layer{background:var(--bg-shift);border:1px solid var(--line);padding:22px 24px;position:relative}.stack-layer.is-protocol{border-color:var(--accent)}.stack-layer .tag{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:.68rem}.stack-layer h3{font-size:1.05rem;font-family:var(--sans);margin-top:6px;font-weight:600}.stack-layer p{color:var(--text-dim);margin:6px 0 0;font-size:.92rem}.stack-arrow{text-align:center;color:var(--text-dim);font-family:var(--mono);padding:4px 0;font-size:.8rem}.layering-rule{max-width:var(--measure);color:var(--text-dim);border-left:2px solid var(--accent);margin-top:28px;padding-left:18px;font-size:.96rem}.layering-rule strong{color:var(--text)}table.rfc-table{border-collapse:collapse;width:100%;font-size:.92rem}table.rfc-table th{text-align:left;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);border-bottom:1px solid var(--line);padding:0 14px 12px 0;font-size:.68rem;font-weight:500}table.rfc-table td{border-bottom:1px solid var(--line);vertical-align:baseline;padding:13px 14px 13px 0}table.rfc-table tr:last-child td{border-bottom:none}table.rfc-table .id{font-family:var(--mono);color:var(--text-dim);white-space:nowrap}table.rfc-table .title a{text-decoration:none}table.rfc-table .title a:hover{color:var(--accent);text-decoration:underline}.pill{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--accent);color:var(--accent);white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:.66rem}.rfc-table-wrap{overflow-x:auto}table.rfc-table.js-armed tbody tr{opacity:0;transform:translateY(6px)}table.rfc-table.js-armed.is-visible tbody tr{opacity:1;transition:opacity .42s var(--ease-out-quart), transform .42s var(--ease-out-quart);transition-delay:calc(var(--i,0) * 50ms);transform:translateY(0)}@media (prefers-reduced-motion:reduce){table.rfc-table.js-armed tbody tr{opacity:1;transform:none}}.conform-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;max-width:760px;display:grid}.conform-cell{background:var(--bg);padding:22px}.conform-cell .n{font-family:var(--serif);color:var(--accent);font-size:2rem;line-height:1}.conform-cell .d{color:var(--text-dim);text-wrap:pretty;margin-top:8px;font-size:.86rem}.hashbox{font-family:var(--mono);color:var(--text-dim);background:var(--bg-shift);border:1px solid var(--line);white-space:pre;max-width:760px;margin-top:28px;padding:16px 18px;font-size:.76rem;overflow-x:auto}.quote-wrap{max-width:760px}blockquote{font-family:var(--serif);text-wrap:balance;margin:0;font-size:clamp(1.3rem,2.6vw,1.7rem);font-style:italic;font-weight:400;line-height:1.5}.quote-cite{font-family:var(--mono);color:var(--text-dim);letter-spacing:.04em;margin-top:20px;font-size:.76rem}.roadmap{gap:0;max-width:760px;display:grid}.rm-row{border-top:1px solid var(--line);grid-template-columns:96px 1fr;gap:20px;padding:20px 0;display:grid}.rm-row:first-child{border-top:none}.rm-tag{font-family:var(--mono);color:var(--accent);padding-top:2px;font-size:.78rem}.rm-body h3{font-family:var(--sans);font-size:1rem;font-weight:600}.rm-body p{color:var(--text-dim);text-wrap:pretty;margin:6px 0 0;font-size:.92rem}.rm-teaser{opacity:.72}.rm-teaser .rm-tag{color:var(--text-dim)}.split{background:var(--line);border:1px solid var(--line);grid-template-columns:1fr 1fr;gap:1px;display:grid}@media (width<=720px){.split{grid-template-columns:1fr}}.split-cell{background:var(--bg);padding:36px}.split-cell h3{font-size:1.2rem}.split-cell p{color:var(--text-dim);text-wrap:pretty;max-width:42ch;margin-top:12px;font-size:.92rem}.split-cell .btn{margin-top:22px}.req-form{flex-wrap:wrap;gap:8px;margin-top:22px;display:flex}.req-form input{font-family:var(--sans);border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-shift);color:var(--text);flex:1;min-width:180px;padding:11px 14px;font-size:.88rem}.req-form input:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.req-form.is-invalid input{border-color:var(--danger);animation:field-shake .32s var(--ease-out-quart)}.req-form.is-invalid input:focus-visible{outline-offset:4px}@keyframes field-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.req-form-msg{width:100%;font-family:var(--mono);color:var(--danger);opacity:0;transition:opacity .2s var(--ease-out-quart), transform .2s var(--ease-out-quart);margin:0;font-size:.76rem;transform:translateY(-4px)}.req-form.is-invalid .req-form-msg{opacity:1;transform:translateY(0)}.req-form button[type=submit][aria-busy=true]{opacity:.72;cursor:progress;animation:btn-pulse 1.1s var(--ease-out-quart) infinite}@keyframes btn-pulse{0%,to{opacity:.72}50%{opacity:.92}}.req-form-wrap{position:relative}.req-form,.req-success{transition:opacity .26s var(--ease-out-quart), transform .26s var(--ease-out-quart)}.req-form-wrap.is-done .req-form{opacity:0;pointer-events:none;position:absolute;inset:0;transform:translateY(-6px)}.req-success{opacity:0;font-family:var(--mono);color:var(--text);align-items:baseline;gap:8px;font-size:.86rem;display:flex;transform:translateY(6px)}.req-form-wrap.is-done .req-success{opacity:1;transform:translateY(0)}.req-success .ok{color:var(--accent)}@media (prefers-reduced-motion:reduce){.req-form.is-invalid input,.req-form button[type=submit][aria-busy=true]{animation:none}.req-form,.req-success,.req-form-msg{transition:none}}footer{font-family:var(--mono);color:var(--text-dim);flex-wrap:wrap;justify-content:space-between;gap:14px;padding:40px;font-size:.74rem;display:flex}footer a{text-decoration:none}footer a:hover{color:var(--accent)}.footer-links{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.doc-page{max-width:var(--measure);margin:0 auto;padding:64px 24px 96px}.doc-body{margin-top:40px;line-height:1.7}.doc-body h1{margin-top:0;font-size:clamp(1.6rem,3.5vw,2.2rem)}.doc-body h2{margin-top:2.4em;font-size:1.4rem}.doc-body h3{font-family:var(--sans);margin-top:1.8em;font-size:1.05rem;font-weight:600}.doc-body p,.doc-body li{color:var(--text)}.doc-body p{text-wrap:pretty}.doc-body a{color:var(--accent)}.doc-body code{background:var(--bg-shift);border-radius:3px;padding:.1em .35em;font-size:.88em}.doc-body pre{background:var(--bg-shift);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;overflow-x:auto}.doc-body pre code{background:0 0;padding:0}.doc-body blockquote{font-style:normal;font-family:var(--sans);border-left:2px solid var(--accent);color:var(--text-dim);padding-left:18px;font-size:1rem}.doc-body table{border-collapse:collapse;width:100%;margin:1.5em 0;font-size:.92rem}.doc-body th,.doc-body td{text-align:left;border-bottom:1px solid var(--line);padding:8px 12px 8px 0}.back-link{font-family:var(--mono);color:var(--text-dim);margin-bottom:24px;font-size:.8rem;text-decoration:none;display:inline-block}.back-link:hover{color:var(--accent)}[data-todo]{color:var(--danger);font-style:normal}[data-todo]:before{content:"TODO — ";font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;font-size:.72em}.page-hero{max-width:900px;padding:88px 40px 56px}@media (width<=640px){.page-hero{padding:56px 20px 40px}}.page-hero h1{letter-spacing:-.01em;margin-top:14px;font-size:clamp(2rem,4.5vw,3rem);line-height:1.12}.page-hero .sub{margin-top:20px;font-size:1.05rem}.page-shell{max-width:1180px;margin:0 auto}.arch-section{padding:0 40px 56px}.arch-section.arch-section-diagram{padding-bottom:24px}.arch-stack{max-width:820px;margin-left:auto;margin-right:auto}@media (width<=640px){.arch-section{padding:0 20px 40px}}.hub-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;max-width:980px;display:grid}.hub-card{background:var(--bg);color:var(--text);transition:background-color .2s var(--ease-out-quart);padding:28px 26px;text-decoration:none;display:block}.hub-card:hover{background:var(--bg-shift)}.hub-card .hub-num{font-family:var(--mono);color:var(--accent);font-size:.78rem}.hub-card h3{font-family:var(--serif);margin-top:10px;font-size:1.15rem;font-weight:600}.hub-card p{color:var(--text-dim);text-wrap:pretty;margin-top:8px;font-size:.88rem}.hub-card .hub-arrow{font-family:var(--mono);color:var(--accent);transition:transform .2s var(--ease-out-quart);margin-top:14px;font-size:.78rem;display:inline-block;transform:translate(0)}.hub-card:hover .hub-arrow{transform:translate(4px)}.arch-diagram{aspect-ratio:1;max-width:760px;margin:40px auto 0;position:relative}.arch-diagram svg{width:100%;height:100%;overflow:visible}.ring{stroke:var(--line);stroke-width:1px;stroke-dasharray:1600;stroke-dashoffset:1600px;transition:stroke-dashoffset 1.4s var(--ease-out-expo)}.arch-diagram.is-drawn .ring-outer{stroke-dashoffset:0;transition-delay:0s}.arch-diagram.is-drawn .ring-mid{stroke-dashoffset:0;stroke:var(--gold-light);stroke-width:1.5px;transition-delay:.22s}.arch-diagram.is-drawn .ring-inner{stroke-dashoffset:0;stroke:var(--accent);stroke-width:3px;transition-delay:.44s}.spoke{stroke:var(--line);stroke-width:1px;opacity:0;transition:opacity .5s var(--ease-out-quart)}.arch-diagram.is-drawn .spoke-sdk{opacity:1;transition-delay:.7s}.arch-diagram.is-drawn .spoke-app{opacity:1;transition-delay:.85s}.ring-label{font-family:var(--mono);fill:var(--text);letter-spacing:.08em;opacity:0;transition:opacity .5s var(--ease-out-quart);font-size:15px}.ring-label-center-sub{fill:var(--text-dim);letter-spacing:.04em;font-size:11px}.arch-diagram.is-drawn .ring-label{opacity:1;transition-delay:.9s}@media (prefers-reduced-motion:reduce){.ring,.spoke,.ring-label{transition:none}}.arch-node{text-align:center;white-space:nowrap;opacity:0;transition:opacity .5s var(--ease-out-quart), transform .5s var(--ease-out-quart);position:absolute;transform:translate(-50%,-50%)}.arch-diagram.is-drawn .arch-node{opacity:1}.arch-node-sdk{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);font-size:.62rem;transition-delay:.5s}.arch-node-item{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);transition-delay:calc(1s + var(--i,0) * 90ms);padding:8px 12px;transform:translate(-50%,-50%)translateY(6px)}.arch-diagram.is-drawn .arch-node-item{transform:translate(-50%,-50%)translateY(0)}.arch-node-label{font-family:var(--sans);font-size:.8rem;font-weight:600;display:block}.arch-node-sub{font-family:var(--mono);color:var(--text-dim);margin-top:2px;font-size:.64rem;display:block}.arch-node-app{padding:6px 10px}.arch-node-app .arch-node-label{font-size:.76rem;font-weight:500}@media (width<=640px){.arch-node-item{padding:5px 8px}.arch-node-label{font-size:.68rem}.arch-node-sub{display:none}}.timeline{max-width:780px;padding-left:28px;position:relative}.timeline:before{content:"";background:var(--line);width:1px;position:absolute;top:8px;bottom:8px;left:5px}.timeline-item{padding-bottom:44px;position:relative}.timeline-item:last-child{padding-bottom:0}.timeline-dot{background:var(--bg);border:2px solid var(--accent);border-radius:50%;width:11px;height:11px;position:absolute;top:4px;left:-28px}.timeline-item.is-teaser .timeline-dot{border-color:var(--text-dim)}.timeline-tag{font-family:var(--mono);color:var(--accent);font-size:.76rem}.timeline-item.is-teaser .timeline-tag{color:var(--text-dim)}.timeline-item h3{font-family:var(--sans);margin-top:6px;font-size:1.05rem;font-weight:600}.timeline-item p{color:var(--text-dim);text-wrap:pretty;max-width:56ch;margin-top:8px;font-size:.92rem}.stat-row{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1px;max-width:900px;margin-top:32px;display:grid}.stat-cell{background:var(--bg);padding:26px 22px}.stat-cell .stat-n{font-family:var(--serif);color:var(--accent);font-size:clamp(1.6rem,3vw,2.1rem);line-height:1}.stat-cell .stat-d{color:var(--text-dim);text-wrap:pretty;margin-top:8px;font-size:.84rem}.stat-cell .stat-src{font-family:var(--mono);color:var(--text-dim);opacity:.7;margin-top:10px;font-size:.64rem}.team-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;max-width:900px;margin-top:24px;display:grid}.team-card{background:var(--bg);padding:24px 22px}.team-card .team-name{font-family:var(--serif);font-size:1.05rem;font-weight:600}.team-card .team-role{font-family:var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--accent);margin-top:6px;font-size:.7rem;display:block}.team-card p{color:var(--text-dim);text-wrap:pretty;margin-top:10px;font-size:.86rem}.status-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;max-width:900px;margin-top:24px;display:grid}.status-item{align-items:baseline;gap:12px;display:flex}.status-item .status-mark{font-family:var(--mono);color:var(--accent);flex-shrink:0}.status-item .status-mark.is-pending{color:var(--text-dim)}.status-item p{color:var(--text);margin:0;font-size:.92rem}.status-item p .dim{color:var(--text-dim)}.ask-box{border:1px solid var(--accent);background:var(--accent-soft);max-width:700px;margin-top:24px;padding:28px 26px}.ask-box .ask-amount{font-family:var(--serif);color:var(--text);font-size:clamp(1.8rem,4vw,2.4rem)}.ask-box p{color:var(--text);text-wrap:pretty;margin-top:10px;font-size:.92rem}.ask-form{margin-top:32px}body.reveal-armed .reveal{opacity:0;transition:opacity .6s var(--ease-out-quart), transform .6s var(--ease-out-quart);transform:translateY(14px)}body.reveal-armed .reveal.is-visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){body.reveal-armed .reveal{opacity:1;transition:none;transform:none}}
