.canvas-demo{background:var(--paper);border:1px solid #cfd3c5;border-radius:9px;font-size:13px;line-height:1.5;position:relative;overflow:hidden;box-shadow:0 12px 40px #272d2508,0 2px 4px #272d2506}.app-bar{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:10px 18px;display:flex}.app-brand{align-items:center;gap:8px;font-weight:600;display:inline-flex}.app-host{color:var(--muted);font-family:monospace;font-size:12px}.local-badge{color:var(--muted);margin-left:auto;font-family:monospace;font-size:12px}.app-title{border-bottom:1px solid var(--line);background:#fffefa;padding:14px 18px 12px}.app-pr{font-size:18px;font-weight:600;line-height:1.3}.app-num{color:var(--muted);font-weight:400}.app-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:6px;display:flex}.app-meta strong{color:var(--ink);font-weight:600}.app-meta a{color:var(--accent)}.app-add{color:#4a6a2e;font-weight:600}.app-del{color:#a8432c;font-weight:600}.app-chip{border:1px solid var(--line);border-radius:2em;padding:0 8px;font-size:12px;line-height:20px}.app-progress{color:var(--muted);align-items:center;gap:12px;margin-top:10px;font-size:12px;display:flex}.progress-track{background:var(--line);border-radius:6px;flex:0 240px;height:6px;overflow:hidden}.progress-track>span{background:var(--accent);border-radius:6px;width:0;height:100%;transition:width .2s;display:block}.canvas-grid{grid-template-columns:220px minmax(0,1fr);min-height:412px;display:grid}.layer-nav{border-right:1px solid var(--line);padding:14px 0 18px}.app-rail-label{color:var(--muted);padding:0 16px 6px;font-size:12px;font-weight:600}.layer-buttons{gap:2px;display:grid}.layer-button{text-align:left;background:0 0;border:0;border-radius:6px;grid-template-columns:auto auto minmax(0,1fr);align-items:start;column-gap:8px;width:calc(100% - 16px);margin:0 8px;padding:5px 8px;display:grid}.layer-button:hover{background:#eeefe8}.layer-button[aria-pressed=true]{box-shadow:inset 3px 0 0 var(--accent);background:#e4ecd7}.layer-check{border:2px solid var(--accent);border-radius:50%;width:10px;height:10px;margin-top:4px;font-size:0}.layer-check:not(:empty){background:var(--accent)}.layer-number{color:var(--muted);padding-top:1px;font-size:11px}.layer-button strong{overflow-wrap:anywhere;font-size:13px;font-weight:500;display:block}.layer-button[aria-pressed=true] strong{font-weight:600}.layer-button small{color:var(--muted);font-size:11px;display:block}.sample-layer{min-width:0;padding:16px}.app-card{border:1px solid var(--line);background:#fffefa;border-radius:6px}.layer-heading{border-bottom:1px solid var(--line);background:#f3f4ec;border-radius:5px 5px 0 0;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;display:flex}.app-layer-label{color:var(--accent);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.layer-heading .pill{color:#635172;background:#eae5ef}.sample-layer h3{font-size:16px;font-weight:600;line-height:1.35}.small-button{border:1px solid var(--line);background:#fffefa;border-radius:6px;flex:none;height:26px;padding:0 10px;font-size:12px;font-weight:500}.small-button:hover{background:#f1f2ec}.small-button[aria-pressed=true]{color:#4a6a2e;background:#e1efc8;border-color:#c1d2ac}.app-card-body{padding:12px}.app-card-body>p:first-child{max-width:100ch;font-size:14px;line-height:1.55}.app-section{align-items:center;gap:8px;margin:16px 2px 6px;font-weight:600;display:flex}.app-section-attention:before,.app-section-tests:before{content:"";background:var(--purple);border-radius:2px;width:8px;height:8px}.app-section-tests:before{background:var(--accent)}.app-box{border:1px solid var(--line);border-radius:6px}.attention{grid-template-columns:auto minmax(0,1fr);gap:4px 12px;padding:10px 12px;display:grid}.app-level{background:radial-gradient(circle,#fffefa 0 2px,#b58a1f 2.5px);width:12px;height:12px;margin-top:4px}.attention h4{font-size:14px;font-weight:600;line-height:1.4}.attention p{margin-top:2px}.app-file{border:1px solid var(--line);background:#fffefa;border-radius:6px;margin-bottom:12px;overflow:hidden}.app-file-h{border-bottom:1px solid var(--line);background:#f3f4ec;align-items:center;gap:8px;min-height:38px;padding:4px 10px;display:flex}.app-file-closed .app-file-h{border-bottom:0}.app-chev{border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);width:7px;height:7px;margin:0 3px;transform:rotate(45deg)translate(-2px,-2px)}.app-file-closed .app-chev{transform:rotate(-45deg)}.app-path{overflow-wrap:anywhere;flex:auto;min-width:0;font-family:monospace;font-size:12px;font-weight:600}.app-file-note{color:var(--muted);white-space:nowrap;font-family:monospace;font-size:11px}.app-file-h .pill{font-size:11px}.test-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 16px;padding:8px 12px;display:flex}.file-heading{border-bottom:1px solid var(--line);background:#f3f4ec;justify-content:space-between;align-items:center;gap:15px;min-height:38px;padding:6px 12px;font-family:monospace;font-size:12px;display:flex}.file-heading>span:first-child{overflow-wrap:anywhere;font-weight:600}.file-note{color:var(--muted);white-space:nowrap;font-size:11px}.diff-code span,.code-fold pre span{min-height:20px;padding-inline:12px;display:block}.diff-code,.code-fold pre{font-size:13px;line-height:1.8}.addition{color:#3c5a32;background:#edf4e7}.deletion{color:#925344;background:#f9e8e1}.context{color:#72766c}.demo-caption{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:15px;padding-block:14px;font-size:12px;display:flex}.fold-example{border:1px solid var(--line);background:#fffefa;border-radius:7px;overflow:hidden}.fold-example .diff-code{padding-block:16px}.code-fold summary{color:#655473;background:#efecf4;align-items:center;gap:10px;padding:13px;font-size:14px;list-style:none;display:flex}.code-fold summary::-webkit-details-marker{display:none}.fold-count{margin-left:auto;font-size:12px}.fold-chevron{font-size:19px;line-height:1}.code-fold[open] .fold-chevron{transform:rotate(90deg)}.code-fold pre{padding-block:10px}.fold-caption{border-top:1px solid var(--line);color:var(--muted);padding:18px;font-size:14px}.fold-caption strong{color:var(--ink);font-weight:500}.chat-demo{border:1px solid var(--line);background:#eeeee7;border-radius:7px;padding:24px}.chat-demo-header{justify-content:space-between;align-items:center;gap:15px;font-size:14px;display:flex}.chat-demo-header .pill{background:#e4e3da;font-size:11px}.chat-scope{color:var(--muted);border-top:1px solid #d8dbce;align-items:center;gap:7px;margin-top:14px;padding-block:10px;font-size:13px;display:flex}.question-choices{flex-wrap:wrap;gap:7px;margin-block:12px 22px;display:flex}.question-choices button{background:#f8f8f2;border:1px solid #d5d8cb;border-radius:20px;padding:6px 11px;font-size:13px}.question-choices button[aria-pressed=true]{background:#dfe8d1;border-color:#b8c8a1}.chat-message{border-radius:6px;padding:16px;font-size:13px;line-height:1.65}.user-message{color:#534161;background:#ded6e8;margin-left:35px}.agent-message{background:#fffefa;border:1px solid #daded0;margin-top:14px}.agent-label{letter-spacing:1px;color:var(--muted);font-family:monospace;font-size:11px}.agent-message p{min-height:106px;margin-top:8px}.chat-code-ref{color:var(--accent);border-top:1px solid var(--line);overflow-wrap:anywhere;margin-top:14px;padding-top:12px;font-family:monospace;font-size:13px}.chat-disclosure{color:var(--muted);margin-top:18px;font-size:12px}@media (width<=1100px){.canvas-grid{grid-template-columns:190px minmax(0,1fr)}}@media (width<=720px){.app-bar,.app-title{padding-inline:12px}.app-host{display:none}.canvas-grid{grid-template-columns:minmax(0,1fr)}.layer-nav{border-right:0;border-bottom:1px solid var(--line);padding:8px}.app-rail-label{display:none}.layer-buttons{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.layer-button{width:100%;margin:0}.layer-button[aria-pressed=true]{box-shadow:inset 0 -3px 0 var(--accent)}.layer-button small{display:none}.sample-layer{padding:10px}.layer-heading{flex-wrap:wrap}.demo-caption{display:block}.demo-caption>span{margin-block:3px;display:block}.file-heading{gap:8px;padding-inline:10px}.chat-demo{padding:18px}.chat-demo-header{gap:8px}}.sample-source{color:var(--muted);font-size:12px}.excerpt-gap{color:var(--muted);border-block:1px solid var(--line);padding:7px 13px;font-family:monospace;font-size:12px}.fold-caption a{margin-top:8px;font-size:12px;display:inline-block}a.chat-code-ref{display:block}.canvas-demo:has(.canvas-chat-dock:not([hidden])){padding-bottom:76px}.canvas-chat-dock{z-index:2;position:absolute;bottom:16px;right:18px}.canvas-chat-launcher{background:var(--ink);color:#fff;border:0;border-radius:28px;align-items:center;gap:9px;margin-left:auto;padding:12px 18px;font-size:14px;font-weight:600;display:flex;box-shadow:0 4px 16px #25282125}.canvas-chat-launcher:hover{background:var(--accent)}.canvas-chat-panel{background:var(--paper);border-radius:12px;width:min(390px,100vw - 84px);max-height:min(440px,65vh);padding:18px;position:absolute;bottom:calc(100% + 12px);right:0;overflow-y:auto;box-shadow:0 8px 30px #25282130}.canvas-chat-panel .chat-demo-header{flex-wrap:wrap;gap:8px}.canvas-chat-close{background:#e4e3da;border:0;border-radius:50%;width:32px;height:32px;margin-left:auto;font-size:22px;line-height:1}.canvas-chat-panel .user-message{margin-left:12px}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f7f7f2;--ink:#252821;--muted:#686c62;--line:#dcded3;--accent:#50643f;--purple:#6d5985;--lime:#d9edb6;--white:#fff;color:var(--ink);background:var(--paper);font-synthesis:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;font-size:16px;line-height:1.65}a{color:inherit;text-underline-offset:4px}button,input{font:inherit}button,summary{cursor:pointer}button{color:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--purple);outline-offset:5px}button:disabled{cursor:default}h1,h2,h3,h4,p{margin:0}h1,h2{letter-spacing:-.055em;font-weight:500;line-height:1.07}h1{font-size:clamp(64px,7.8vw,106px)}h2{font-size:clamp(38px,4vw,54px)}h3{letter-spacing:-.025em;font-size:20px;line-height:1.35}em{color:var(--purple);font-style:normal}.local-section em{color:#b9a6d4}pre,code,.eyebrow,.pill{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}pre{margin:0;font-size:14px;line-height:1.9;overflow-x:auto}p code,dd code{overflow-wrap:anywhere;font-size:max(14px,.87em)}.wrap{max-width:1220px;margin-inline:auto;padding-inline:40px}.site-header{justify-content:space-between;align-items:center;gap:24px;min-height:104px;display:flex}.brand{white-space:nowrap;letter-spacing:-.5px;align-items:center;gap:11px;font-size:17px;text-decoration:none;display:flex}.brand strong{font-weight:650}.site-header nav{align-items:center;gap:30px;font-size:14px;display:flex}.site-header nav a{text-decoration:none}.site-header nav a:hover{color:var(--purple)}.nav-cta{border:1px solid var(--line);border-radius:5px;padding:9px 16px}.hero{grid-template-columns:1.1fr 1fr;gap:70px;padding-block:65px 64px;display:grid}.eyebrow{letter-spacing:1.6px;text-transform:uppercase;align-items:center;gap:10px;margin-bottom:24px;font-size:14px;font-weight:600;display:flex}.status-dot{background:var(--accent);border-radius:50%;flex:none;width:7px;height:7px;display:inline-block}.hero-intro{max-width:460px;padding-top:24px}.hero-intro>p:not(.lede,.credit){color:var(--muted);margin-top:12px;font-size:17px;line-height:1.7}.lede{letter-spacing:-.7px;font-size:25px;font-weight:550}.actions{flex-wrap:wrap;align-items:center;gap:25px;margin-top:26px;display:flex}.button{border-radius:5px;align-items:center;gap:28px;padding:12px 21px;font-size:14px;font-weight:550;text-decoration:none;display:inline-flex}.primary{background:var(--ink);color:var(--white);border:1px solid var(--ink)}.primary:hover{background:var(--accent);border-color:var(--accent)}.text-link{border-bottom:1px solid;padding-bottom:3px;font-size:14px;font-weight:600;text-decoration:none}.text-link span{margin-left:9px}.credit{color:var(--muted);margin-top:26px;font-size:12px;line-height:1.6}.credit a{color:var(--ink);font-weight:650}.credit strong{font-weight:450}.pill{letter-spacing:.3px;white-space:nowrap;background:#eeefe8;border-radius:3px;padding:3px 6px;font-size:12px}.proof-strip{border-bottom:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:12px 22px;padding-block:28px 36px;font-size:14px;display:flex}.proof-strip span:before{content:"+";color:var(--accent);margin-right:12px}.feature-section{border-bottom:1px solid var(--line);padding-block:92px}.section-intro{margin-bottom:46px}.section-intro>p:last-child:not(.eyebrow){color:var(--muted);margin-top:24px}.feature-columns{grid-template-columns:1fr 1fr;align-items:center;gap:80px;display:grid}.prose>p{color:var(--muted);margin-block:18px}.prose>p.eyebrow{color:var(--ink);margin-top:0;margin-bottom:24px}.prose .large-copy{color:var(--ink);letter-spacing:-.4px;font-size:23px;line-height:1.45}.prose strong{color:var(--ink);font-weight:600}.prose .text-link{margin-top:10px;display:inline-block}.intent-map{background:#eeeee6;border-radius:8px;padding:26px}.map-heading{border-bottom:1px solid #d4d7c9;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-bottom:22px;display:flex}.map-label{color:var(--accent);font-size:13px;font-weight:600}.map-heading .pill{background:var(--lime);font-size:11px}.intent-map ul{margin-block:6px 20px;padding:0;list-style:none}.intent-map li{align-items:center;gap:15px;padding-top:24px;display:flex;position:relative}.map-step{background:var(--paper);z-index:1;border:1px solid #d0d4c6;border-radius:50%;flex-shrink:0;place-items:center;width:29px;height:29px;font-size:14px;display:grid}.intent-map li strong,.intent-map li code{display:block}.intent-map li strong{font-size:14px;font-weight:550}.intent-map code{color:var(--muted);font-size:14px}.intent-map>p{text-align:center;color:var(--muted);border-top:1px solid #d4d7c9;padding-top:18px;font-size:14px}.prose .callout{border-left:2px solid var(--purple);color:var(--ink);padding-left:18px;font-size:14px}.local-section{color:var(--paper);background:#272d25;padding-block:80px}.local-section .eyebrow{color:#c1d2ac}.local-top{grid-template-columns:1.4fr 1fr;align-items:end;gap:80px;display:grid}.local-top h2{font-size:clamp(35px,3.5vw,48px)}.local-top>p{color:#c5cbbf;font-size:16px}.local-facts{grid-template-columns:repeat(3,1fr);gap:50px;margin-top:60px;display:grid}.fact-number{color:#cfddb6;font-family:Georgia,serif;font-size:25px}.local-facts h3{margin-block:14px;font-size:19px}.local-facts p{color:#c5cbbf;font-size:14px}.local-boundary{border-top:1px solid #4a5345;gap:22px;margin-top:42px;padding-top:25px;display:flex}.boundary-icon{color:#cfddb6;font-size:24px}.local-boundary p{color:#c5cbbf;font-size:14px}.local-boundary strong{color:#f7f7f2;font-weight:550}.setup-grid{grid-template-columns:1fr 1fr;gap:42px 64px;display:grid}.step-heading{align-items:center;gap:14px;margin-bottom:16px;display:flex}.step-heading>span{border:1px solid var(--line);border-radius:50%;place-items:center;width:34px;height:34px;font-family:Georgia,serif;font-size:14px;display:grid}.setup-step>p{color:var(--muted);font-size:14px}.setup-step>p+p{margin-top:10px}.command-block{border:1px solid var(--line);background:#eeeee7;border-radius:5px;margin-block:18px;padding:14px 52px 14px 16px;position:relative}.command-block code{font-size:14px}.copy-button{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z'/%3E%3Cpath d='M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z'/%3E%3C/svg%3E");width:32px;height:32px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:6px;place-items:center;display:grid;position:absolute;top:8px;right:8px}.copy-button:hover{border-color:var(--line);color:var(--ink);background:#fffefa}.copy-button:before{content:"";width:16px;height:16px;-webkit-mask:var(--icon) center / contain no-repeat;mask:var(--icon) center / contain no-repeat;background:currentColor}.copy-button[data-copied]{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z'/%3E%3C/svg%3E");color:var(--accent)}.config-list{margin-block:28px}.config-list>div{margin-block:20px}.config-list dt{margin-bottom:4px;font-size:14px;font-weight:600}.config-list dd{color:var(--muted);margin:0;font-size:14px}.config-example{border:1px solid var(--line);background:#fffefa;border-radius:7px;overflow:hidden}.config-example pre{color:#4c435e;padding:20px 24px;font-size:13px;line-height:1.65}.code-comment{color:#707363}.config-example>p{border-top:1px solid var(--line);color:var(--muted);padding:16px 24px;font-size:14px}.faq-section{grid-template-columns:1fr 1.2fr;gap:100px;padding-block:90px;display:grid}.faq-list details{border-top:1px solid var(--line);padding-block:18px}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{justify-content:space-between;gap:20px;font-size:14px;font-weight:550;list-style:none;display:flex}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";font-weight:400}.faq-list details[open] summary:after{content:"−"}.faq-list details p{color:var(--muted);margin-top:14px;font-size:14px}.closing{text-align:center;background:#e8ecdf;border:1px solid #dbe0ce;border-radius:8px;max-width:1140px;padding-block:60px}.closing .eyebrow,.closing .actions{justify-content:center}.closing h2{font-size:clamp(44px,5vw,68px)}.site-footer{justify-content:space-between;gap:36px;padding-block:54px;display:flex}.footer-vinta{letter-spacing:-1px;align-items:center;gap:12px;font-size:20px;font-weight:750;text-decoration:none;display:inline-flex}.footer-vinta img{object-fit:contain;display:block}.site-footer p{color:var(--muted);margin-top:10px;font-size:14px}.footer-links{align-items:start;gap:26px;padding-top:8px;font-size:14px;display:flex}.footer-links a{text-decoration:none}.notice{background:#eaece1;padding:16px;font-size:14px}.sr-only,.skip-link:not(:focus){clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link:focus{z-index:10;background:#fff;padding:10px;position:fixed;top:10px;left:10px}@media (width>=1600px){.wrap{max-width:1340px}}@media (width<=1000px){.wrap{padding-inline:28px}.hero{gap:35px}.hero-intro{padding-top:12px}.feature-columns{gap:36px}.local-top{gap:40px}.local-facts{gap:30px}.closing{margin-inline:28px}.faq-section{gap:45px}}@media (width<=720px){.wrap{padding-inline:22px}.site-header{gap:12px;min-height:82px}.brand{gap:7px;font-size:14px}.brand img{width:28px;height:28px}.site-header nav{gap:0}.site-header nav a:not(.nav-cta){display:none}.nav-cta{padding:7px 10px;font-size:14px}.hero{grid-template-columns:1fr;gap:28px;padding-block:35px 42px}h1{font-size:clamp(66px,14vw,90px)}.hero-intro{max-width:none;padding:0}.hero-intro>p:not(.lede,.credit){font-size:16px}.lede{font-size:23px}.credit br{display:none}.credit strong:before{content:" "}.feature-section{padding-block:58px}.feature-columns,.local-top,.setup-grid,.faq-section{grid-template-columns:1fr;gap:32px}.section-intro{margin-bottom:32px}.intent-map{padding:22px}#folds .fold-example{order:2}.proof-strip{justify-content:flex-start;gap:13px 20px;padding-block:25px;font-size:14px}.proof-strip span:before{margin-right:6px}.local-section{padding-block:55px}.local-facts{grid-template-columns:1fr;gap:28px;margin-top:35px}.local-facts article{padding-left:42px;position:relative}.fact-number{font-size:21px;position:absolute;top:4px;left:0}.local-facts h3{margin-top:0}.local-boundary{gap:14px}.faq-section{padding-block:55px}.closing{margin-inline:22px;padding-block:44px;padding-inline:18px}.closing .eyebrow{font-size:14px}.site-footer{flex-direction:column;gap:20px;padding-block:38px}.footer-links{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.feature-columns>*,.setup-grid>*,.local-top>*,.faq-section>*{min-width:0}.intent-map>.map-summary{text-align:left;border-top:0}
