@font-face{font-family:Givlah;src:url("assets/fonts/Givlah-Bold.woff2") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:Caveat;src:url("assets/fonts/Caveat-latin.woff2") format("woff2");font-weight:400 700;font-display:swap}
:root{color-scheme:light;--cream:#fff9ee;--ink:#18392e;--muted:#53645b;--green:#116444;--blue:#1759a2;--line:#d9ded2;--mint:#e8f5e8;--yellow:#ffcf67;--white:#fffefa}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.7 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--blue);text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}a,button,summary{-webkit-tap-highlight-color:transparent}button{font:inherit}button:disabled{cursor:default}img{max-width:100%;height:auto}p{margin:0 0 1.1em}h1,h2,h3,h4{line-height:1.15;text-wrap:balance}h1,h2,h3{font-family:Givlah,system-ui,sans-serif;font-weight:700}h1{font-size:clamp(3.1rem,5.3vw,4.8rem);letter-spacing:-.025em;max-width:760px;margin:.3em 0 .4em}h2{font-size:clamp(2rem,3.3vw,2.7rem);letter-spacing:-.02em;margin:0 0 .65em}h3{font-size:1.45rem;margin:1.6em 0 .7em}h4{font-size:1rem;margin:0 0 .65em}strong{font-weight:700}ul,ol{padding-left:1.35em}li{padding-left:.2em;margin-bottom:.45em}section[id],article[id],#demo-video{scroll-margin-top:30px}:focus-visible{outline:3px solid var(--blue);outline-offset:5px;border-radius:3px}.skip-link{position:fixed;top:-100px;left:20px;background:var(--ink);color:white;padding:12px 20px;z-index:100}.skip-link:focus{top:14px}.layout{display:grid;grid-template-columns:245px minmax(0,1fr);max-width:1440px;margin:auto}.sidebar{height:100vh;position:sticky;top:0;padding:40px 25px 28px 30px;display:flex;flex-direction:column;border-right:1px solid var(--line);background:var(--cream)}.brand{font:700 2.25rem/1 Givlah,system-ui,sans-serif;color:var(--ink);text-decoration:none;display:inline-flex;align-items:center;gap:10px}.sidebar-label{color:var(--muted);font-size:.8rem;margin:22px 0 30px}.sidebar nav{display:flex;flex-direction:column;gap:9px}.sidebar nav a{padding:10px 10px;color:var(--muted);font-size:.75rem;display:flex;gap:14px;text-decoration:none;border-radius:10px}.sidebar nav a span{font-size:.9rem;color:var(--ink);font-weight:600}.sidebar nav a:hover,.sidebar nav a[aria-current]{background:var(--mint);color:var(--green)}.sidebar-foot{margin-top:auto;padding-top:32px;font-size:.8rem;color:var(--muted);line-height:1.9}.sidebar-foot a{display:inline-block;margin-top:8px}.status-dot{display:inline-block;width:7px;height:7px;background:var(--green);border-radius:50%;margin-right:7px}.mobile-header{display:none}main{min-width:0;max-width:1010px;padding:55px 64px 0}main>section{padding:56px 0 62px;border-bottom:1px solid var(--line)}main>section.intro{padding-top:0;position:relative;isolation:isolate}.eyebrow{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--green);margin:0 0 18px}.eyebrow span{color:var(--muted);margin:0 8px}.gold-dot{color:#a55c00}.lede{font-size:1.2rem;line-height:1.6;max-width:650px}.intro>p:not(.eyebrow){max-width:700px}.handwritten{font-family:Caveat,cursive;font-size:1.65rem;color:var(--green);margin:15px 0 29px}.start-path{padding:24px 25px 22px;background:var(--white);border:1px solid var(--line);border-radius:20px;box-shadow:0 8px 24px #18392e08}.start-path .eyebrow{margin-bottom:16px}.start-path ol{display:grid;grid-template-columns:1fr 1fr;gap:20px 16px;list-style:none;margin:0;padding:0}.start-path li{padding:0;margin:0}.start-path a{display:flex;align-items:center;gap:9px;color:var(--ink);font-weight:700;font-size:.9rem;text-decoration:none}.start-path a span{display:grid;place-items:center;border-radius:50%;background:var(--mint);color:var(--green);width:25px;height:25px;font-size:.75rem;flex-shrink:0}.start-path a:hover{text-decoration:underline}.start-path small{font-size:.73rem;color:var(--muted);display:block;margin:5px 0 0 34px}.scope-note{border-left:3px solid var(--green);padding:4px 0 4px 18px;color:var(--muted);font-size:.875rem;margin:28px 0 0}.scope-note strong{color:var(--ink)}.video-card{background:var(--white);border:1px solid var(--line);border-radius:20px;overflow:hidden;margin:28px 0 20px}.video-frame{position:relative;aspect-ratio:16/9;background:var(--mint);overflow:hidden}.video-poster{width:100%;height:100%;object-fit:cover;object-position:top;filter:brightness(.67)}.video-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:15px}.pill{border-radius:99px;padding:5px 12px;background:var(--yellow);color:var(--ink);font-size:.7rem;font-weight:700;display:inline-block}.video-play{padding:12px 23px;background:var(--white);color:var(--ink);border:0;border-radius:99px;font-weight:700;box-shadow:0 4px 14px #18392e22;cursor:pointer}.video-play span{margin-right:8px}.video-caption{padding:17px 22px;font-size:.85rem}.video-caption p{margin-bottom:5px}.video-pending{font-size:.75rem;color:var(--muted)}iframe{width:100%;height:100%;border:0;display:block}.chapters{display:flex;flex-wrap:wrap;gap:8px 14px;margin:20px 0 10px}.chapters a{font-size:.8rem;color:var(--green)}.small{font-size:.8rem}.muted{color:var(--muted)}.walkthrough-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:30px}.walk-step{min-width:0;background:var(--white);border:1px solid var(--line);border-radius:20px;overflow:hidden}.step-copy{padding:24px 24px 6px}.step-number{font-size:.68rem;color:var(--green);font-weight:700;text-transform:uppercase;letter-spacing:.12em;margin-bottom:12px}.step-copy h3{font-size:1.35rem;margin:0 0 14px}.step-copy p:not(.step-number){font-size:.875rem;line-height:1.65}.walk-step figure{margin:0;padding:0 22px 20px}.walk-step figure a{display:block;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--cream)}.walk-step img{display:block;width:100%;height:auto}.walk-step figcaption{font-size:.73rem;color:var(--muted);line-height:1.55;margin-top:12px}.mechanism-list{counter-reset:mechanism;list-style:none;padding:0;margin:28px 0}.mechanism-list li{position:relative;padding:0 0 20px 44px;margin:0;font-size:.95rem}.mechanism-list li:before{counter-increment:mechanism;content:counter(mechanism);position:absolute;top:0;left:0;width:27px;height:27px;border-radius:50%;background:var(--mint);color:var(--green);display:grid;place-items:center;font-weight:700;font-size:.8rem}.example{background:#eaf1fb;border-radius:18px;padding:25px;margin:24px 0}.example .eyebrow{color:var(--blue)}.conflict-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:17px}.conflict-grid div{border:1px solid #b5c8e2;background:var(--white);padding:15px;border-radius:12px;font-size:.85rem}.conflict-grid span{display:block;font-family:ui-monospace,monospace;font-size:.8rem;margin-top:4px}.example p:last-child{font-size:.875rem;margin-bottom:0}.source{font-size:.78rem;color:var(--muted);margin-top:18px}.note-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.note-card{padding:23px;background:var(--white);border:1px solid var(--line);border-radius:16px}.note-card p{font-size:.875rem;margin-bottom:0}.table-scroll{overflow-x:auto;margin:25px 0}table{width:100%;border-collapse:collapse;font-size:.85rem}caption{text-align:left;font-size:.75rem;color:var(--muted);margin-bottom:12px}th,td{padding:17px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}thead{background:var(--mint)}th:first-child{width:30%}.limits{margin-top:25px;border-radius:18px;background:#fff0ce;padding:24px 28px}.limits h3{margin:0 0 15px}.limits ul{font-size:.875rem;margin-bottom:0}.pending-box{padding:28px;border:1px dashed #859a8c;border-radius:18px;background:var(--white)}.pending-box .pill{margin-bottom:20px}.pending-box p{font-size:.95rem}.pending-box a{font-size:.9rem;font-weight:700}code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.85em;overflow-wrap:anywhere}p code,li code,td code{background:#e8eee4;padding:.15em .35em;border-radius:4px}pre{background:#173a2e;color:#f4f7ef;border:1px solid #173a2e;border-radius:14px;padding:21px;overflow-x:auto;font-size:.8rem;line-height:1.8;tab-size:2}pre code{font-size:inherit;overflow-wrap:normal}.setup-grid{display:grid;grid-template-columns:1fr;gap:10px;margin-top:25px}.setup-grid h4{margin-bottom:10px}.setup-grid pre{margin-top:0}.architecture{display:flex;flex-direction:column;align-items:center;gap:8px;margin:30px 0;color:var(--green)}.architecture div{padding:16px 25px;border:1px solid var(--line);border-radius:12px;background:var(--white);width:100%;text-align:center}.architecture span:not(:only-child){display:block;font-size:.8rem;color:var(--muted)}.reference-links{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:30px 0}.reference-links a{padding:18px;border:1px solid var(--line);border-radius:12px;text-decoration:none;background:var(--white);color:var(--ink)}.reference-links a:hover{border-color:var(--green)}.reference-links a span{display:block;font-size:.75rem;color:var(--muted);margin-top:5px}footer{display:flex;align-items:center;flex-wrap:wrap;gap:20px;padding:35px 0 45px}footer .brand{font-size:1.7rem}footer p{font-size:.75rem;color:var(--muted);margin:0;flex:1}footer>a:last-child{font-size:.75rem}[hidden]{display:none!important}
.setup-grid>div{min-width:0}.walk-step figure a{max-height:560px}.walk-step figure a:after{content:"Open full capture ↗";display:block;position:sticky;bottom:0;background:var(--cream);padding:6px 10px;font-size:.7rem;color:var(--blue);text-align:center;border-top:1px solid var(--line)}
@media(min-width:1450px){main{padding-left:80px;padding-right:80px}}
@media(max-width:1050px){.layout{grid-template-columns:215px minmax(0,1fr)}.sidebar{padding:30px 18px}main{padding:40px 35px 0}.walkthrough-grid{gap:16px}.step-copy{padding:20px 18px 4px}.walk-step figure{padding:0 16px 18px}}
@media(max-width:760px){html{scroll-padding-top:16px}.layout{display:block}.mobile-header{display:block;padding:20px 22px 12px}.mobile-header .brand{font-size:1.9rem}.brand-note{font:400 1.2rem Caveat,cursive;margin-left:6px;color:var(--green)}.sidebar{height:auto;position:static;border:0;border-bottom:1px solid var(--line);padding:8px 22px 18px;background:none;display:block}.desktop-brand,.sidebar-label,.sidebar-foot{display:none}.sidebar nav{flex-direction:row;gap:7px 15px;flex-wrap:wrap}.sidebar nav a{padding:4px 0;gap:5px;font-size:.65rem}.sidebar nav a span{font-size:.75rem}.sidebar nav a:hover,.sidebar nav a[aria-current]{background:none}.sidebar nav a[aria-current] span{text-decoration:underline}main{padding:32px 22px 0}main>section{padding:39px 0 43px}.intro .eyebrow{font-size:.6rem;letter-spacing:.08em;max-width:275px}h1{font-size:3rem;margin:.4em 0 .5em}h2{font-size:2rem}h3{font-size:1.35rem}.lede{font-size:1.1rem}.handwritten{font-size:1.5rem}.start-path{padding:22px 18px}.start-path ol{grid-template-columns:1fr;gap:18px}.start-path small{font-size:.75rem}.walkthrough-grid{grid-template-columns:1fr;gap:24px}.step-copy{padding:25px 24px 6px}.step-copy p:not(.step-number){font-size:.95rem}.walk-step figure{padding:0 24px 23px}.walk-step figure a{max-width:320px;margin:auto}.walk-step figcaption{font-size:.8rem}.note-grid,.reference-links{grid-template-columns:1fr}.conflict-grid{gap:6px}.conflict-grid div{padding:10px 8px}.conflict-grid span{font-size:.68rem}.example{padding:21px 18px}.eyebrow{font-size:.65rem}.video-caption{padding:16px}.video-overlay{gap:10px}.video-play{padding:10px 20px}.pill{font-size:.68rem}.pending-box,.limits{padding:23px 21px}.mechanism-list li{padding-left:38px;font-size:.9rem}pre{padding:17px;font-size:.72rem}th,td{padding:14px 10px;font-size:.8rem}.table-scroll th:first-child{width:32%}footer{gap:14px}footer p{flex-basis:65%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{@page{margin:16mm}body{background:white;color:#111;font-size:10pt}.layout{display:block}.sidebar,.mobile-header,.skip-link,.site-atmosphere,.video-overlay,.chapters,footer{display:none}main{max-width:none;padding:0}main>section{padding:20px 0;border-color:#bbb}h1{font-size:34pt}h2{font-size:24pt}h3{font-size:16pt}a{color:#111}.walkthrough-grid{grid-template-columns:1fr 1fr;gap:18px}.walk-step{break-inside:avoid;border-color:#bbb}.walk-step img{height:75mm;width:100%;object-fit:cover;object-position:top}.video-frame{display:none}.video-card{border:1px solid #bbb}.note-card,.example,.limits,.pending-box,.start-path{background:white;box-shadow:none}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f5f5f5;color:#111;border-color:#bbb;font-size:8pt}.table-scroll{overflow:visible}h2,h3,h4{break-after:avoid}thead{display:table-header-group}tr{break-inside:avoid}}


/* The app's green and blue curves frame the content without covering it. */
main{position:relative;isolation:isolate;background:radial-gradient(ellipse 680px 520px at 100% 130px,#34e18012,transparent 76%),radial-gradient(ellipse 420px 700px at 0 580px,#278fff0f,transparent 78%)}
.site-atmosphere{position:absolute;inset:0 0 auto;height:1100px;overflow:hidden;z-index:-1;pointer-events:none}
.site-atmosphere span{position:absolute;display:block}
.site-wave-green{width:430px;height:330px;right:-118px;top:-210px;border-radius:35% 45% 38% 62% / 45% 45% 55% 55%;background:linear-gradient(140deg,#34e180,#10c766);transform:rotate(-12deg)}
.site-wave-blue{width:205px;height:440px;left:-155px;top:390px;border-radius:35% 65% 70% 30% / 35% 40% 60% 65%;background:linear-gradient(155deg,#278fff,#1785fc);transform:rotate(-18deg)}
.start-path,.walk-step{box-shadow:0 10px 30px #18392e0a,0 2px 5px #18392e04}
@media(max-width:1050px){.site-wave-green{right:-160px;top:-245px}.site-wave-blue{left:-180px;top:460px}}
@media(max-width:760px){main{background:radial-gradient(ellipse 420px 420px at 100% 180px,#34e18016,transparent 78%),radial-gradient(ellipse 300px 600px at 0 650px,#278fff12,transparent 78%)}.site-wave-green{width:300px;height:220px;right:-150px;top:-172px}.site-wave-blue{width:170px;height:370px;left:-162px;top:470px;transform:rotate(-8deg)}}
@media(forced-colors:active){.site-atmosphere{display:none}main{background:none}}
@media print{main{background:none}.site-atmosphere{display:none}}
