1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,31713,e=>{"use strict";let t,o;var r=e.i(43476),i=e.i(71645),n=e.i(46932),s=e.i(88653),a=e.i(74080);function l(){for(var e,t,o=0,r="",i=arguments.length;o<i;o++)(e=arguments[o])&&(t=function e(t){var o,r,i="";if("string"==typeof t||"number"==typeof t)i+=t;else if("object"==typeof t)if(Array.isArray(t)){var n=t.length;for(o=0;o<n;o++)t[o]&&(r=e(t[o]))&&(i&&(i+=" "),i+=r)}else for(r in t)t[r]&&(i&&(i+=" "),i+=r);return i}(e))&&(r&&(r+=" "),r+=t);return r}let c=(e=new Map,t=null,o)=>({nextPart:e,validators:t,classGroupId:o}),d=[],h=(e,t,o)=>{if(0==e.length-t)return o.classGroupId;let r=e[t],i=o.nextPart.get(r);if(i){let o=h(e,t+1,i);if(o)return o}let n=o.validators;if(null===n)return;let s=0===t?e.join("-"):e.slice(t).join("-"),a=n.length;for(let e=0;e<a;e++){let t=n[e];if(t.validator(s))return t.classGroupId}},p=(e,t)=>{let o=c();for(let r in e)m(e[r],o,r,t);return o},m=(e,t,o,r)=>{let i=e.length;for(let n=0;n<i;n++)u(e[n],t,o,r)},u=(e,t,o,r)=>{"string"==typeof e?g(e,t,o):"function"==typeof e?b(e,t,o,r):x(e,t,o,r)},g=(e,t,o)=>{(""===e?t:f(t,e)).classGroupId=o},b=(e,t,o,r)=>{y(e)?m(e(r),t,o,r):(null===t.validators&&(t.validators=[]),t.validators.push({classGroupId:o,validator:e}))},x=(e,t,o,r)=>{let i=Object.entries(e),n=i.length;for(let e=0;e<n;e++){let[n,s]=i[e];m(s,f(t,n),o,r)}},f=(e,t)=>{let o=e,r=t.split("-"),i=r.length;for(let e=0;e<i;e++){let t=r[e],i=o.nextPart.get(t);i||(i=c(),o.nextPart.set(t,i)),o=i}return o},y=e=>"isThemeGetter"in e&&!0===e.isThemeGetter,v=[],w=(e,t,o,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:o,maybePostfixModifierPosition:r,isExternal:i}),k=/\s+/,P=e=>{let t;if("string"==typeof e)return e;let o="";for(let r=0;r<e.length;r++)e[r]&&(t=P(e[r]))&&(o&&(o+=" "),o+=t);return o},j=[],C=e=>{let t=t=>t[e]||j;return t.isThemeGetter=!0,t},N=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,B=/^\((?:(\w[\w-]*):)?(.+)\)$/i,z=/^\d+\/\d+$/,F=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,S=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,M=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,A=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,L=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,E=e=>z.test(e),I=e=>!!e&&!Number.isNaN(Number(e)),T=e=>!!e&&Number.isInteger(Number(e)),q=e=>e.endsWith("%")&&I(e.slice(0,-1)),R=e=>F.test(e),D=()=>!0,O=e=>S.test(e)&&!M.test(e),$=()=>!1,H=e=>A.test(e),U=e=>L.test(e),X=e=>!Y(e)&&!J(e),W=e=>en(e,ec,$),Y=e=>N.test(e),G=e=>en(e,ed,O),V=e=>en(e,eh,I),_=e=>en(e,ea,$),Q=e=>en(e,el,U),Z=e=>en(e,em,H),J=e=>B.test(e),K=e=>es(e,ed),ee=e=>es(e,ep),et=e=>es(e,ea),eo=e=>es(e,ec),er=e=>es(e,el),ei=e=>es(e,em,!0),en=(e,t,o)=>{let r=N.exec(e);return!!r&&(r[1]?t(r[1]):o(r[2]))},es=(e,t,o=!1)=>{let r=B.exec(e);return!!r&&(r[1]?t(r[1]):o)},ea=e=>"position"===e||"percentage"===e,el=e=>"image"===e||"url"===e,ec=e=>"length"===e||"size"===e||"bg-size"===e,ed=e=>"length"===e,eh=e=>"number"===e,ep=e=>"family-name"===e,em=e=>"shadow"===e,eu=((e,...t)=>{let o,r,i,n,s=e=>{let t=r(e);if(t)return t;let n=((e,t)=>{let{parseClassName:o,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:n}=t,s=[],a=e.trim().split(k),l="";for(let e=a.length-1;e>=0;e-=1){let t=a[e],{isExternal:c,modifiers:d,hasImportantModifier:h,baseClassName:p,maybePostfixModifierPosition:m}=o(t);if(c){l=t+(l.length>0?" "+l:l);continue}let u=!!m,g=r(u?p.substring(0,m):p);if(!g){if(!u||!(g=r(p))){l=t+(l.length>0?" "+l:l);continue}u=!1}let b=0===d.length?"":1===d.length?d[0]:n(d).join(":"),x=h?b+"!":b,f=x+g;if(s.indexOf(f)>-1)continue;s.push(f);let y=i(g,u);for(let e=0;e<y.length;++e){let t=y[e];s.push(x+t)}l=t+(l.length>0?" "+l:l)}return l})(e,o);return i(e,n),n};return n=a=>{var l;let c;return r=(o={cache:(e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,o=Object.create(null),r=Object.create(null),i=(i,n)=>{o[i]=n,++t>e&&(t=0,r=o,o=Object.create(null))};return{get(e){let t=o[e];return void 0!==t?t:void 0!==(t=r[e])?(i(e,t),t):void 0},set(e,t){e in o?o[e]=t:i(e,t)}}})((l=t.reduce((e,t)=>
1t(e),e())).cacheSize),parseClassName:(e=>{let{prefix:t,experimentalParseClassName:o}=e,r=e=>{let t,o=[],r=0,i=0,n=0,s=e.length;for(let a=0;a<s;a++){let s=e[a];if(0===r&&0===i){if(":"===s){o.push(e.slice(n,a)),n=a+1;continue}if("/"===s){t=a;continue}}"["===s?r++:"]"===s?r--:"("===s?i++:")"===s&&i--}let a=0===o.length?e:e.slice(n),l=a,c=!1;return a.endsWith("!")?(l=a.slice(0,-1),c=!0):a.startsWith("!")&&(l=a.slice(1),c=!0),w(o,c,l,t&&t>n?t-n:void 0)};if(t){let e=t+":",o=r;r=t=>t.startsWith(e)?o(t.slice(e.length)):w(v,!1,t,void 0,!0)}if(o){let e=r;r=t=>o({className:t,parseClassName:e})}return r})(l),sortModifiers:(c=new Map,l.orderSensitiveModifiers.forEach((e,t)=>{c.set(e,1e6+t)}),e=>{let t=[],o=[];for(let r=0;r<e.length;r++){let i=e[r],n="["===i[0],s=c.has(i);n||s?(o.length>0&&(o.sort(),t.push(...o),o=[]),t.push(i)):o.push(i)}return o.length>0&&(o.sort(),t.push(...o)),t}),...(e=>{let t=(e=>{let{theme:t,classGroups:o}=e;return p(o,t)})(e),{conflictingClassGroups:o,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith("[")&&e.endsWith("]")){var o;let t,r,i;return -1===(o=e).slice(1,-1).indexOf(":")?void 0:(r=(t=o.slice(1,-1)).indexOf(":"),(i=t.slice(0,r))?"arbitrary.."+i:void 0)}let r=e.split("-"),i=+(""===r[0]&&r.length>1);return h(r,i,t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=o[e];if(t){if(i){let e=Array(i.length+t.length);for(let t=0;t<i.length;t++)e[t]=i[t];for(let o=0;o<t.length;o++)e[i.length+o]=t[o];return e}return t}return i||d}return o[e]||d}}})(l)}).cache.get,i=o.cache.set,n=s,s(a)},(...e)=>n(((...e)=>{let t,o,r=0,i="";for(;r<e.length;)(t=e[r++])&&(o=P(t))&&(i&&(i+=" "),i+=o);return i})(...e))})(()=>{let e=C("color"),t=C("font"),o=C("text"),r=C("font-weight"),i=C("tracking"),n=C("leading"),s=C("breakpoint"),a=C("container"),l=C("spacing"),c=C("radius"),d=C("shadow"),h=C("inset-shadow"),p=C("text-shadow"),m=C("drop-shadow"),u=C("blur"),g=C("perspective"),b=C("aspect"),x=C("ease"),f=C("animate"),y=()=>["auto","avoid","all","avoid-page","page","left","right","column"],v=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],w=()=>[...v(),J,Y],k=()=>["auto","hidden","clip","visible","scroll"],P=()=>["auto","contain","none"],j=()=>[J,Y,l],N=()=>[E,"full","auto",...j()],B=()=>
vendor: 7,170 bytes, line 1
1[T,"none","subgrid",J,Y],z=()=>["auto",{span:["full",T,J,Y]},T,J,Y],F=()=>[T,"auto",J,Y],S=()=>["auto","min","max","fr",J,Y],M=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],A=()=>["start","end","center","stretch","center-safe","end-safe"],L=()=>["auto",...j()],O=()=>[E,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...j()],$=()=>[e,J,Y],H=()=>[...v(),et,_,{position:[J,Y]}],U=()=>["no-repeat",{repeat:["","x","y","space","round"]}],en=()=>["auto","cover","contain",eo,W,{size:[J,Y]}],es=()=>[q,K,G],ea=()=>["","none","full",c,J,Y],el=()=>["",I,K,G],ec=()=>["solid","dashed","dotted","double"],ed=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],eh=()=>[I,q,et,_],ep=()=>["","none",u,J,Y],em=()=>["none",I,J,Y],eu=()=>["none",I,J,Y],eg=()=>[I,J,Y],eb=()=>[E,"full",...j()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[R],breakpoint:[R],color:[D],container:[R],"drop-shadow":[R],ease:["in","out","in-out"],font:[X],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[R],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[R],shadow:[R],spacing:["px",I],text:[R],"text-shadow":[R],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",E,Y,J,b]}],container:["container"],columns:[{columns:[I,Y,J,a]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:w()}],overflow:[{overflow:k()}],"overflow-x":[{"overflow-x":k()}],"overflow-y":[{"overflow-y":k()}],overscroll:[{overscroll:P()}],"overscroll-x":[{"overscroll-x":P()}],"overscroll-y":[{"overscroll-y":P()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:N()}],"inset-x":[{"inset-x":N()}],"inset-y":[{"inset-y":N()}],start:[{start:N()}],end:[{end:N()}],top:[{top:N()}],right:[{right:N()}],bottom:[{bottom:N()}],left:[{left:N()}],visibility:["visible","invisible","collapse"],z:[{z:[T,"auto",J,Y]}],basis:[{basis:[E,"full","auto",a,...j()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[I,E,"auto","initial","none",Y]}],grow:[{grow:["",I,J,Y]}],shrink:[{shrink:["",I,J,Y]}],order:[{order:[T,"first","last","none",J,Y]}],"grid-cols":[{"grid-cols":B()}],"col-start-end":[{col:z()}],"col-start":[{"col-start":F()}],"col-end":[{"col-end":F()}],"grid-rows":[{"grid-rows":B()}],"row-start-end":[{row:z()}],"row-start":[{"row-start":F()}],"row-end":[{"row-end":F()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":S()}],"auto-rows":[{"auto-rows":S()}],gap:[{gap:j()}],"gap-x":[{"gap-x":j()}],"gap-y":[{"gap-y":j()}],"justify-content":[{justify:[...M(),"normal"]}],"justify-items":[{"justify-items":[...A(),"normal"]}],"justify-self":[{"justify-self":["auto",...A()]}],"align-content":[{content:["normal",...M()]}],"align-items":[{items:[...A(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...A(),{baseline:["","last"]}]}],"place-content":[{"place-content":M()}],"place-items":[{"place-items":[...A(),"baseline"]}],"place-self":[{"place-self":["auto",...A()]}],p:[{p:j()}],px:[{px:j()}],py:[{py:j()}],ps:[{ps:j()}],pe:[{pe:j()}],pt:[{pt:j()}],pr:[{pr:j()}],pb:[{pb:j()}],pl:[{pl:j()}],m:[{m:L()}],mx:[{mx:L()}],my:[{my:L()}],ms:[{ms:L()}],me:[{me:L()}],mt:[{mt:L()}],mr:[{mr:L()}],mb:[{mb:L()}],ml:[{ml:L()}],"space-x":[{"space-x":j()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":j()}],"space-y-reverse":["space-y-reverse"],size:[{size:O()}],w:[{w:[a,"screen",...O()]}],"min-w":[{"min-w":[a,"screen","none",...O()]}],"max-w":[{"max-w":[a,"screen","none","prose",{screen:[s]},...O()]}],h:[{h:["screen","lh",...O()]}],"min-h":[{"min-h":["screen","lh","none",...O()]}],"max-h":[{"max-h":["screen","lh",...O()]}],"font-size":[{text:["base",o,K,G]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[r,J,V]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",q,Y]}],"font-family":[{font:[ee,Y,t]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[i,J,Y]}],"line-clamp":[{"line-clamp":[I,"none",J,V]}],leading:[{leading:[n,...j()]}],"list-image":[{"list-image":["none",J,Y]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",J,Y]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:$()}],"text-color":[{text:$()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ec(),"wavy"]}],"text-decoration-thickness":[{decoration:[I,"from-font","auto",J,G]}],"text-decoration-color":[{decoration:$()}],"underline-offset":[{"underline-offset":[I,"auto",J,Y]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:j()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",J,Y]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",J,Y]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:H()}],"bg-repeat":[{bg:U()}],"bg-size":[{bg:en()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},T,J,Y],radial:["",J,Y],conic:[T,J,Y]},er,Q]}],"bg-color":[{bg:$()}],"gradient-from-pos":[{from:es()}
vendor: 6,535 bytes, line 1
1],"gradient-via-pos":[{via:es()}],"gradient-to-pos":[{to:es()}],"gradient-from":[{from:$()}],"gradient-via":[{via:$()}],"gradient-to":[{to:$()}],rounded:[{rounded:ea()}],"rounded-s":[{"rounded-s":ea()}],"rounded-e":[{"rounded-e":ea()}],"rounded-t":[{"rounded-t":ea()}],"rounded-r":[{"rounded-r":ea()}],"rounded-b":[{"rounded-b":ea()}],"rounded-l":[{"rounded-l":ea()}],"rounded-ss":[{"rounded-ss":ea()}],"rounded-se":[{"rounded-se":ea()}],"rounded-ee":[{"rounded-ee":ea()}],"rounded-es":[{"rounded-es":ea()}],"rounded-tl":[{"rounded-tl":ea()}],"rounded-tr":[{"rounded-tr":ea()}],"rounded-br":[{"rounded-br":ea()}],"rounded-bl":[{"rounded-bl":ea()}],"border-w":[{border:el()}],"border-w-x":[{"border-x":el()}],"border-w-y":[{"border-y":el()}],"border-w-s":[{"border-s":el()}],"border-w-e":[{"border-e":el()}],"border-w-t":[{"border-t":el()}],"border-w-r":[{"border-r":el()}],"border-w-b":[{"border-b":el()}],"border-w-l":[{"border-l":el()}],"divide-x":[{"divide-x":el()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":el()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...ec(),"hidden","none"]}],"divide-style":[{divide:[...ec(),"hidden","none"]}],"border-color":[{border:$()}],"border-color-x":[{"border-x":$()}],"border-color-y":[{"border-y":$()}],"border-color-s":[{"border-s":$()}],"border-color-e":[{"border-e":$()}],"border-color-t":[{"border-t":$()}],"border-color-r":[{"border-r":$()}],"border-color-b":[{"border-b":$()}],"border-color-l":[{"border-l":$()}],"divide-color":[{divide:$()}],"outline-style":[{outline:[...ec(),"none","hidden"]}],"outline-offset":[{"outline-offset":[I,J,Y]}],"outline-w":[{outline:["",I,K,G]}],"outline-color":[{outline:$()}],shadow:[{shadow:["","none",d,ei,Z]}],"shadow-color":[{shadow:$()}],"inset-shadow":[{"inset-shadow":["none",h,ei,Z]}],"inset-shadow-color":[{"inset-shadow":$()}],"ring-w":[{ring:el()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:$()}],"ring-offset-w":[{"ring-offset":[I,G]}],"ring-offset-color":[{"ring-offset":$()}],"inset-ring-w":[{"inset-ring":el()}],"inset-ring-color":[{"inset-ring":$()}],"text-shadow":[{"text-shadow":["none",p,ei,Z]}],"text-shadow-color":[{"text-shadow":$()}],opacity:[{opacity:[I,J,Y]}],"mix-blend":[{"mix-blend":[...ed(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":ed()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[I]}],"mask-image-linear-from-pos":[{"mask-linear-from":eh()}],"mask-image-linear-to-pos":[{"mask-linear-to":eh()}],"mask-image-linear-from-color":[{"mask-linear-from":$()}],"mask-image-linear-to-color":[{"mask-linear-to":$()}],"mask-image-t-from-pos":[{"mask-t-from":eh()}],"mask-image-t-to-pos":[{"mask-t-to":eh()}],"mask-image-t-from-color":[{"mask-t-from":$()}],"mask-image-t-to-color":[{"mask-t-to":$()}],"mask-image-r-from-pos":[{"mask-r-from":eh()}],"mask-image-r-to-pos":[{"mask-r-to":eh()}],"mask-image-r-from-color":[{"mask-r-from":$()}],"mask-image-r-to-color":[{"mask-r-to":$()}],"mask-image-b-from-pos":[{"mask-b-from":eh()}],"mask-image-b-to-pos":[{"mask-b-to":eh()}],"mask-image-b-from-color":[{"mask-b-from":$()}],"mask-image-b-to-color":[{"mask-b-to":$()}],"mask-image-l-from-pos":[{"mask-l-from":eh()}],"mask-image-l-to-pos":[{"mask-l-to":eh()}],"mask-image-l-from-color":[{"mask-l-from":$()}],"mask-image-l-to-color":[{"mask-l-to":$()}],"mask-image-x-from-pos":[{"mask-x-from":eh()}],"mask-image-x-to-pos":[{"mask-x-to":eh()}],"mask-image-x-from-color":[{"mask-x-from":$()}],"mask-image-x-to-color":[{"mask-x-to":$()}],"mask-image-y-from-pos":[{"mask-y-from":eh()}],"mask-image-y-to-pos":[{"mask-y-to":eh()}],"mask-image-y-from-color":[{"mask-y-from":$()}],"mask-image-y-to-color":[{"mask-y-to":$()}],"mask-image-radial":[{"mask-radial":[J,Y]}],"mask-image-radial-from-pos":[{"mask-radial-from":eh()}],"mask-image-radial-to-pos":[{"mask-radial-to":eh()}],"mask-image-radial-from-color":[{"mask-radial-from":$()}],"mask-image-radial-to-color":[{"mask-radial-to":$()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":v()}],"mask-image-conic-pos":[{"mask-conic":[I]}],"mask-image-conic-from-pos":[{"mask-conic-from":eh()}],"mask-image-conic-to-pos":[{"mask-conic-to":eh()}],"mask-image-conic-from-color":[{"mask-conic-from":$()}],"mask-image-conic-to-color":[{"mask-conic-to":$()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:H()}],"mask-repeat":[{mask:U()}],"mask-size":[{mask:en()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",J,Y]}],filter:[{filter:["","none",J,Y]}],blur:[{blur:ep()}],brightness:[{brightness:[I,J,Y]}],contrast:[{contrast:[I,J,Y]}],"drop-shadow":[{"drop-shadow":["","none",m,ei,Z]}],"drop-shadow-color":[{"drop-shadow":$()}],grayscale:[{grayscale:["",I,J,Y]}],"hue-rotate":[{"hue-rotate":[I,J,Y]}],invert:[{invert:["",I,J,Y]}],saturate:[{saturate:[I,J,Y]}],sepia:[{sepia:["",I,J,Y]}],"backdrop-filter":[{"backdrop-filter":["","none",J,Y]}],"backdrop-blur":[{"backdrop-blur":ep()}],"backdrop-brightness":[{"backdrop-brightness":[I,J,Y]}],"backdrop-contrast":[{"backdrop-contrast":[I,J,Y]}],"backdrop-grayscale":[{"backdrop-grayscale":["",I,J,Y]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[I,J,Y]}],"backdrop-invert":[{"backdrop-invert":["",I,J,Y]}],"backdrop-opacity":[{"backdrop-opacity":[I,J,Y]}],"backdrop-saturate":[{"backdrop-saturate":[I,J,Y]}],"backdrop-sepia":[{"backdrop-sepia":["",I,J,Y]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":j()}],"border-spacing-x":[{"border-spacing-x":j()}],"border-spacing-y":[{"border-spacing-y":j()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",J,Y]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[I,"initial",J,Y]}],ease:[{ease:["linear","initial",x,J,Y]}],delay:[{delay:[I,J,Y]}],animate:[{animate:["none",f,J,Y]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[g,J,Y]}],"perspective-origin":[{"perspective-origin":w()}],rotate:[{rotate:em()}],"rotate-x":[{"rotate-x":em()}],"rotate-y":[{"rotate-y":em()}
vendor: 5,191 bytes, line 1
1],"rotate-z":[{"rotate-z":em()}],scale:[{scale:eu()}],"scale-x":[{"scale-x":eu()}],"scale-y":[{"scale-y":eu()}],"scale-z":[{"scale-z":eu()}],"scale-3d":["scale-3d"],skew:[{skew:eg()}],"skew-x":[{"skew-x":eg()}],"skew-y":[{"skew-y":eg()}],transform:[{transform:[J,Y,"","none","gpu","cpu"]}],"transform-origin":[{origin:w()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:eb()}],"translate-x":[{"translate-x":eb()}],"translate-y":[{"translate-y":eb()}],"translate-z":[{"translate-z":eb()}],"translate-none":["translate-none"],accent:[{accent:$()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:$()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",J,Y]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":j()}],"scroll-mx":[{"scroll-mx":j()}],"scroll-my":[{"scroll-my":j()}],"scroll-ms":[{"scroll-ms":j()}],"scroll-me":[{"scroll-me":j()}],"scroll-mt":[{"scroll-mt":j()}],"scroll-mr":[{"scroll-mr":j()}],"scroll-mb":[{"scroll-mb":j()}],"scroll-ml":[{"scroll-ml":j()}],"scroll-p":[{"scroll-p":j()}],"scroll-px":[{"scroll-px":j()}],"scroll-py":[{"scroll-py":j()}],"scroll-ps":[{"scroll-ps":j()}],"scroll-pe":[{"scroll-pe":j()}],"scroll-pt":[{"scroll-pt":j()}],"scroll-pr":[{"scroll-pr":j()}],"scroll-pb":[{"scroll-pb":j()}],"scroll-pl":[{"scroll-pl":j()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",J,Y]}],fill:[{fill:["none",...$()]}],"stroke-w":[{stroke:[I,K,G,V]}],stroke:[{stroke:["none",...$()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}});function eg(...e){return eu(l(e))}function eb(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}var ex=i.forwardRef((e,t)=>
1{let{children:o,...n}=e,s=i.Children.toArray(o),a=s.find(ev);if(a){let e=a.props.children,o=s.map(t=>t!==a?t:i.Children.count(e)>1?i.Children.only(null):i.isValidElement(e)?e.props.children:null);return(0,r.jsx)(ef,{...n,ref:t,children:i.isValidElement(e)?i.cloneElement(e,void 0,o):null})}return(0,r.jsx)(ef,{...n,ref:t,children:o})});ex.displayName="Slot";var ef=i.forwardRef((e,t)=>{let{children:o,...r}=e;if(i.isValidElement(o)){var n;let e,s,a=(n=o,(s=(e=Object.getOwnPropertyDescriptor(n.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?n.ref:(s=(e=Object.getOwnPropertyDescriptor(n,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?n.props.ref:n.props.ref||n.ref);return i.cloneElement(o,{...function(e,t){let o={...t};for(let r in t){let i=e[r],n=t[r];/^on[A-Z]/.test(r)?i&&n?o[r]=(...e)=>{n(...e),i(...e)}:i&&(o[r]=i):"style"===r?o[r]={...i,...n}:"className"===r&&(o[r]=[i,n].filter(Boolean).join(" "))}return{...e,...o}}(r,o.props),ref:t?function(...e){return t=>{let o=!1,r=e.map(e=>{let r=eb(e,t);return o||"function"!=typeof r||(o=!0),r});if(o)return()=>{for(let t=0;t<r.length;t++){let o=r[t];"function"==typeof o?o():eb(e[t],null)}}}}(t,a):a})}return i.Children.count(o)>1?i.Children.only(null):null});ef.displayName="SlotClone";var ey=({children:e})=>(0,r.jsx)(r.Fragment,{children:e});function ev(e){return i.isValidElement(e)&&e.type===ey}let ew=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,ek=(t="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",o={variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}},e=>{var r;if((null==o?void 0:o.variants)==null)return l(t,null==e?void 0:e.class,null==e?void 0:e.className);let{variants:i,defaultVariants:n}=o,s=Object.keys(i).map(t=>{let o=null==e?void 0:e[t],r=null==n?void 0:n[t];if(null===o)return null;let s=ew(o)||ew(r);return i[t][s]}),a=e&&Object.entries(e).reduce((e,t)=>{let[o,r]=t;return void 0===r||(e[o]=r),e},{});return l(t,s,null==o||null==(r=o.compoundVariants)?void 0:r.reduce((e,t)=>{let{class:o,className:r,...i}=t;return Object.entries(i).every(e=>{let[t,o]=e;return Array.isArray(o)?o.includes({...n,...a}[t]):({...n,...a})[t]===o})?[...e,o,r]:e},[]),null==e?void 0:e.class,null==e?void 0:e.className)});function eP({className:e,variant:t,size:o,asChild:i=!1,...n}){let s=i?ex:"button";return(0,r.jsx)(s,{"data-slot":"button",className:eg(ek({variant:t,size:o,className:e})),...n})}let ej=(...e)=>e.filter((e,t,o)=>!!e&&""!==e.trim()&&o.indexOf(e)===t).join(" ").trim();var eC={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let eN=(0,i.forwardRef)(({color:e="currentColor",size:t=24,strokeWidth:o=2,absoluteStrokeWidth:r,className:n="",children:s,iconNode:a,...l},c)=>(0,i.createElement)("svg",{ref:c,...eC,width:t,height:t,stroke:e,strokeWidth:r?24*Number(o)/Number(t):o,className:ej("lucide",n),...l},[...a.map(([e,t])=>(0,i.createElement)(e,t)),...Array.isArray(s)?s:[s]])),eB=(e,t)=>{let o=(0,i.forwardRef)(({className:o,...r},n)=>(0,i.createElement)(eN,{ref:n,iconNode:t,className:ej(`lucide-${e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,o),...r}));return o.displayName=`${e}`,o},ez=eB("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]),eF=eB("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}
1],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),eS=[];function eM(e){if(!e)return null;let t=e.match(/^(.*?):\n\s*(\d+\.\s.*)$/s);if(!t)return(0,r.jsx)("span",{children:e});let o=t[1],i=t[2].split(/\n\s*(?=\d+\.\s)/).map(e=>e.replace(/^\d+\.\s*/,"").trim());return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("span",{children:[o,":"]}),(0,r.jsx)("ol",{className:"list-decimal list-outside ml-6 mt-2 space-y-1",children:i.map((e,t)=>(0,r.jsx)("li",{children:e},t))})]})}function eA(e){if(!e)return null;try{let{pathname:t}=new URL(e);return t.replace(/^\/+/,"")||null}catch{return null}}let eL=new Map,eE={blue:"bg-blue-600 text-white",green:"bg-green-600 text-white",orange:"bg-orange-600 text-white",pink:"bg-pink-600 text-white"},eI={BeepBlue:"#49BFFA",BeepGreen:"#52C649",BeepPink:"#FFA1F6",BeepYellow:"#FFC050",BeepOrange:"#F97316"},eT=Object.values(eI),eq=[3,1,5,0,2,4,2,4,0,3,5,1,5,0,3,1,4,2,1,3,5,2,0,4,4,2,0,5,1,3,0,5,2,4,3,1,3,1,4,0,5,2,5,2,1,3,0,4,2,0,4,1,5,3,4,3,0,5,2,1,1,5,3,2,4,0,0,4,2,3,1,5];function eR({text:e,imageSelector:t,targetPoints:o=eS,initialPosition:n={x:100,y:100},index:s=0,stepNumber:l=1,className:c,lineColor:d="#3b82f6",lineWidth:h=2,variant:p="default",chips:m=[],thumbnailUrl:u,chipColors:g=[],videoUrl:b,videoTitle:x,isBlockCompleted:f=!1,onToggleComplete:y,showDoneButton:v=!1,onDone:w,isLastStep:k=!1}){let P,j,C,[N,B]=(0,i.useState)(null),[z,F]=(0,i.useState)(!1),[S,M]=(0,i.useState)({x:0,y:0}),[A,L]=(0,i.useState)(null),[E,I]=(0,i.useState)(!1),[T,q]=(0,i.useState)([]),[R,D]=(0,i.useState)(!1),[O,$]=(0,i.useState)(!1),[H,U]=(0,i.useState)(!1),[X,W]=(0,i.useState)(!1),[Y,G]=(0,i.useState)(!1),V=(0,i.useRef)(null),_=(0,i.useRef)(null);(0,i.useEffect)(()=>{let e=()=>{D(window.innerWidth<1280)};return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),(0,i.useEffect)(()=>{let e=()=>{if(R&&A){let e=A.getBoundingClientRect(),t=V.current?.offsetParent,o=t?.getBoundingClientRect()||{top:0},r=e.bottom-o.top,i=t?.querySelectorAll("[data-instruction-block]"),n=0;if(i)for(let e=0;e<Math.min(s,i.length);e++)n+=i[e].offsetHeight+6;B({x:0,y:r+24+n})}else{let e=V.current?.offsetParent;if(!e)return;let t=e.offsetWidth;e.offsetHeight;let o=V.current?.offsetWidth||384;V.current?.offsetHeight;let r=e.querySelectorAll("[data-instruction-block]"),i=8;for(let e=0;e<s;e++){let t=r[e];i+=(t?.offsetHeight||100)+3}B({x:Math.max(0,t-o-16),y:i})}},t=requestAnimationFrame(()=>{requestAnimationFrame(()=>{e()})});return window.addEventListener("resize",e),()=>{cancelAnimationFrame(t),window.removeEventListener("resize",e)}},[n,s,A,R,E,p]),(0,i.useEffect)(()=>{let e=()=>{let e=document.querySelector(t);e&&(L(e),e.complete&&0!==e.naturalHeight?I(!0):e.onload=()=>{I(!0)})};e();let o=setInterval(e,100);return setTimeout(()=>clearInterval(o),2e3),()=>clearInterval(o)},[t]),(0,i.useEffect)(()=>{if(!E)return;if(0===o.length)return void q(e=>0===e.length?e:[]);let e=()=>{if(!A||!V.current||!N)return;let e=V.current.getBoundingClientRect(),t=A.getBoundingClientRect(),r=V.current.offsetParent,i=r?.getBoundingClientRect()||{left:0,top:0},n=8*!!R,s=(N?.x??0)+n,a=(N?.y??0)+e.height/2;q(o.map(e=>({startX:s,startY:a,endX:t.left-i.left+t.width*e.x,endY:t.top-i.top+t.height*e.y,caption:e.caption})))},t=setTimeout(e,0);return R||(window.addEventListener("scroll",e),window.addEventListener("resize",e)),()=>{clearTimeout(t),window.removeEventListener("scroll",e),window.removeEventListener("resize",e)}},[N,A,o,R,E]);let Q=e=>{z&&!R&&B({x:e.clientX-S.x,y:e.clientY-S.y})},Z=()=>{F(!1)};(0,i.useEffect)(()=>{if(z)return window.addEventListener("mousemove",Q),window.addEventListener("mouseup",Z),()=>{window.removeEventListener("mousemove",Q),window.removeEventListener("mouseup",Z)}},[z,S]),(0,i.useEffect)(()=>{if(!Y)return;let e=e=>{"Escape"===e.key&&G(!1)};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[Y]);let J="video"===p&&(P=eA(b))?`https://image.mux.com/${P}/thumbnail.jpg?width=640&height=360&fit_mode=smartcrop&time=1`:null,K=function(e,t){let o="video"===t?eA(e):null,[r,n]=(0,i.useState)(o?eL.get(o)??null:null);return(0,i.useEffect)(()=>
1{if(!o||eL.has(o))return;let e=!1;return fetch(`/api/mux-duration?playbackId=${encodeURIComponent(o)}`).then(e=>e.ok?e.json():null).then(t=>{let r="number"==typeof t?.duration?t.duration:null;eL.set(o,r),e||n(r)}).catch(()=>{eL.set(o,null),e||n(null)}),()=>{e=!0}},[o]),r}(b,p);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("svg",{ref:_,className:"pointer-events-none absolute inset-0 z-10",style:{width:"100%",height:"100%",overflow:"visible"},children:[(0,r.jsx)("defs",{children:(0,r.jsxs)("filter",{id:`glow-hover-${s}`,x:"-50%",y:"-50%",width:"200%",height:"200%",children:[(0,r.jsx)("feDropShadow",{dx:"0",dy:"0",stdDeviation:"4",floodColor:d,floodOpacity:"1"}),(0,r.jsx)("feDropShadow",{dx:"0",dy:"0",stdDeviation:"8",floodColor:d,floodOpacity:"0.6"})]})}),T.length>0&&!f&&(0,r.jsx)(r.Fragment,{children:T.map((e,t)=>(0,r.jsxs)("g",{children:[(0,r.jsx)("line",{x1:e.startX,y1:e.startY,x2:e.endX,y2:e.endY,stroke:d,strokeWidth:!R&&O?h+1:h,strokeDasharray:"5,5",filter:!R&&O?`url(#glow-hover-${s})`:void 0,style:{transition:"stroke-width 0.2s ease"}}),(0,r.jsx)("rect",{x:e.endX-4,y:e.endY-4,width:"8",height:"8",fill:d,filter:!R&&O?`url(#glow-hover-${s})`:void 0}),0===t&&(0,r.jsx)("rect",{x:e.startX-4,y:e.startY-4,width:"8",height:"8",fill:d,filter:!R&&O?`url(#glow-hover-${s})`:void 0})]},t))})]}),(0,r.jsx)("div",{ref:V,"data-instruction-block":s,"data-variant":p,onMouseDown:e=>{!R&&(F(!0),V.current&&M({x:e.clientX-(N?.x??0),y:e.clientY-(N?.y??0)}))},onMouseEnter:()=>$(!0),onMouseLeave:()=>$(!1),className:eg("z-20 rounded-sm",R?"absolute px-2 max-w-full":"absolute w-[384px] cursor-grab active:cursor-grabbing",z&&"cursor-grabbing",c),style:{left:N?.x??0,top:N?.y??0,userSelect:"none",opacity:+!!N,transition:"opacity 0.15s ease",...R&&{width:"calc(100% - 16px)"}},children:f?(0,r.jsxs)("button",{onClick:e=>{e.stopPropagation(),y?.()},onMouseDown:e=>e.stopPropagation(),className:"bg-card px-1.5 py-1.5 rounded-sm flex items-center gap-2 hover:bg-zinc-50 transition-colors cursor-pointer border border-[#E0E0E0]",children:["default"===p&&(0,r.jsx)("div",{className:"px-2 py-0.5 rounded-[4px] inline-flex",style:{backgroundColor:d},children:(0,r.jsxs)("span",{className:"text-xs font-semibold tracking-wide leading-none text-white",children:[l,".",String.fromCharCode(97+s)]})}),"video"===p&&(0,r.jsx)("div",{className:"px-2 py-0.5 rounded-[4px] inline-flex",children:(0,r.jsx)("span",{className:"text-xs font-semibold tracking-wide leading-none",style:{color:"#737373"},children:"Video"})})]}):(0,r.jsxs)("div",{className:"flex flex-col gap-0.5",children:["default"===p||"video"===p?(0,r.jsxs)("div",{className:"flex items-stretch gap-0.5",children:[(0,r.jsx)("div",{className:"bg-card rounded-sm flex-1 border border-[#E0E0E0] flex items-center py-0.5 px-0.5",style:{boxShadow:"0 1px 3px rgba(0,0,0,0.04)"},children:"video"===p?(0,r.jsx)("div",{className:"px-2 rounded-[4px] inline-flex py-2",children:(0,r.jsx)("span",{className:"text-xs font-semibold tracking-wide leading-none",style:{color:"#737373"},children:"Video"})}):(0,r.jsx)("div",{className:"px-2 rounded-[4px] inline-flex py-2",style:{backgroundColor:d},children:(0,r.jsxs)("span",{className:"text-xs font-semibold tracking-wide leading-none text-white",children:[l,".",String.fromCharCode(97+s)]})})}),(0,r.jsx)("button",{onClick:e=>{e.stopPropagation(),y?.()},onMouseDown:e=>e.stopPropagation(),className:"bg-white rounded-sm w-8 flex items-center justify-center hover:opacity-70 transition-opacity border border-[#E0E0E0] cursor-pointer",style:{boxShadow:"0 1px 3px rgba(0,0,0,0.04)"},"aria-label":"Mark as done",children:(0,r.jsx)("img",{src:"/icons/check.svg",alt:"",className:"w-[10px] h-[10px]"})})]}):(0,r.jsx)("div",{className:"flex items-stretch gap-0.5",children:(0,r.jsx)("div",{className:"bg-card rounded-sm flex-1 border border-[#E0E0E0] flex items-center py-0.5 px-0.5",style:{boxShadow:"0 1px 3px rgba(0,0,0,0.04)"},children:(0,r.jsx)("div",{className:"px-2 rounded-[4px] inline-flex py-2",children:(0,r.jsx)("span",{className:"text-xs font-semibold tracking-wide leading-none",style:{color:"#737373"},children:"New Materials"})})})}),"default"===p?(0,r.jsx)("div",{className:"bg-card px-5 py-4 rounded-sm pb-[34px] min-h-[100px] border border-[#
1E0E0E0]",style:{boxShadow:"0 1px 3px rgba(0,0,0,0.04)"},children:(0,r.jsx)("div",{className:"text-foreground font-medium leading-relaxed",children:eM(e)})}):"video"===p?(0,r.jsx)("div",{className:"bg-card rounded-sm border border-[#E0E0E0] overflow-hidden",style:{boxShadow:"0 1px 3px rgba(0,0,0,0.04)"},children:(0,r.jsxs)("div",{className:"relative w-full aspect-video bg-black cursor-pointer",onMouseDown:e=>e.stopPropagation(),onClick:e=>{e.stopPropagation(),G(!0)},children:[J&&(0,r.jsx)("img",{src:J,alt:x||"Video preview",className:"absolute inset-0 w-full h-full object-cover"}),(0,r.jsx)("div",{className:"absolute inset-0 flex items-center justify-center",children:(0,r.jsx)("div",{className:"backdrop-blur-lg bg-white/55",style:{width:72,height:84,WebkitMaskImage:"url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 72 84'%3E%3Cpath d='M 0,10 Q 0,0 8.639,5.039 L 63.361,36.961 Q 72,42 63.361,47.039 L 8.639,78.961 Q 0,84 0,74 Z'/%3E%3C/svg%3E\")",maskImage:"url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 72 84'%3E%3Cpath d='M 0,10 Q 0,0 8.639,5.039 L 63.361,36.961 Q 72,42 63.361,47.039 L 8.639,78.961 Q 0,84 0,74 Z'/%3E%3C/svg%3E\")",WebkitMaskRepeat:"no-repeat",maskRepeat:"no-repeat",WebkitMaskSize:"100% 100%",maskSize:"100% 100%"}})}),null!==K&&(0,r.jsx)("div",{className:"absolute bottom-2 right-3 text-white text-2xl font-semibold leading-none",children:(C=Math.floor((j=Math.round(K))/60),`${C}:${String(j%60).padStart(2,"0")}`)})]})}):(0,r.jsx)("div",{className:"bg-card px-3 py-3 rounded-sm border border-[#E0E0E0]",children:(0,r.jsxs)("div",{className:"flex gap-3 items-start",children:[(0,r.jsxs)("div",{className:"flex-1 flex flex-col gap-2",children:[e&&(0,r.jsx)("div",{className:"text-foreground font-medium leading-relaxed",children:eM(e)}),(0,r.jsx)("div",{className:"flex flex-wrap gap-1",children:m.map((e,t)=>(0,r.jsx)("span",{className:eg("inline-flex items-center px-3 py-1 text-sm rounded-sm font-semibold",eE[g[t]||"blue"]),children:e},t))})]}),u&&(0,r.jsx)("img",{src:u||"/placeholder.svg",alt:"Instruction thumbnail",className:"w-20 h-20 object-cover border rounded-sm"})]})}),v&&w&&(0,r.jsxs)(eP,{onClick:()=>{R?X||(W(!0),setTimeout(()=>{W(!1),w()},700)):w()},onMouseEnter:()=>!R&&U(!0),onMouseLeave:()=>!R&&U(!1),className:"relative w-full font-semibold transition-all duration-300 hover:scale-105 hover:shadow-lg shadow-sm flex items-center justify-start gap-3 px-4 overflow-visible",style:X?{backgroundColor:d||"#49BFFA",color:"white",transform:"scale(0.97)",transition:"all 0.15s ease"}:H?{backgroundColor:d||"#49BFFA",color:"white"}:{backgroundColor:"#1a1a1a",color:"white"},children:[(H||X)&&(0,r.jsxs)("svg",{width:"36",height:"34",viewBox:"0 0 36 34",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"absolute shrink-0",style:{pointerEvents:"none",transform:"translateY(-50%) scale(2) translateY(0px)",transformOrigin:"center center",top:"50%",left:"calc(8px + 3px)"},children:[(0,r.jsx)("rect",{x:"2.40137",y:"6.52344",width:"10.7191",height:"13.5342",rx:"2.0572",fill:"white"}),(0,r.jsx)("rect",{x:"17.0186",y:"6.52344",width:"10.5025",height:"13.5342",rx:"2.0572",fill:"white"}),(0,r.jsx)("rect",{x:"5.97461",y:"6.52344",width:"7.14606",height:"9.63636",rx:"1.08274",fill:"#252525"}),(0,r.jsx)("rect",{x:"20.4834",y:"6.52344",width:"7.03779",height:"9.63636",rx:"1.08274",fill:"#252525"}),(0,r.jsx)("path",{d:"M12.1113 22.7834C12.8411 22.6681 13.4386 23.3035 14.091 23.5841C15.8037 24.3219 17.5503 24.2655 19.2993 23.6873C20.1864 23.3938 21.2685 22.5326 21.9983 23.6543C22.9272 25.0832 20.9419 25.7653 19.9283 26.0871C17.3084 26.9201 13.9764 26.7669 11.7033 25.0856C10.7566 24.3856 11.0122 22.9567 12.1113 22.7834Z",fill:"#252525"})]}),(0,r.jsx)("span",{style:{marginLeft:H||X?"32px":"0px",transition:"margin-left 0.2s ease"},children:k?"Complete Section":"Done"}),(0,r.jsx)(ez,{className:"w-4 h-4 shrink-0 ml-auto"})]})]})}),Y&&(0,a.createPortal)((0,r.jsxs)("div",{className:"fixed inset-0 z-[200] bg-black/80 flex items-center justify-center p-4",onClick:()=>G(!1),children:[(0,r.jsx)("button",{onClick:()=>G(!1),className:"absolute top-4 right-4 text-white/80 hover:text-white transition-colors","aria-label":"Close video",children:(0,r.jsx)(eF,{className:"w-8 h-8"})}),(0,r.jsx)("div",{className:"relative w-full max-w-3xl aspect-video rounded-lg overflow-hidden shadow-2xl",onClick:e=>e.stopPropagation(),children:b&&(0,r.jsx)("iframe",{src:`${b}${b.includes("?")?"&":"?"}autoplay=muted`,className:"absolute inset-0 w-full h-full",allow:"autoplay; fullscreen; picture-in-picture",allowFullScreen:!0,title:x||"Video"})})]}),document.body)]})}let eD={nicehat:"/nicehat.png",queencrown:"/queencrown.png",suaveglasses:"/suaveglasses.png"},eO=Object.keys(eD),e$=({className:e})=>(0,r.jsx)("svg",{className:e,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})}),eH=({className:e,strokeWidth:t})=>(0,r.jsx)("svg",{className:e,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:t||2,children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 13l4 4L19 7"})});function eU({sections:e,initialSection:t=0,initialStep:o,onStepChange:a}){let l=e.flatMap((e,t)=>e.steps.map((o,r)=>
1({...o,sectionIndex:t,stepIndex:r,sectionTitle:e.title,imageUrl:o.image||e.imageUrl,imageAlt:e.imageAlt,hint:o.hint,hintColor:o.hintColor}))),c=()=>{if(void 0!==o){let r=0;for(let o=0;o<t;o++)r+=e[o].steps.length;return r+o}return 3*t},[d,h]=(0,i.useState)(c()),[p,m]=(0,i.useState)(new Set),[u,g]=(0,i.useState)(new Set),[b,x]=(0,i.useState)(!1),[f,y]=(0,i.useState)(!1),[v,w]=(0,i.useState)(!1),[k,P]=(0,i.useState)("#49BFFA"),[j]=(0,i.useState)(()=>(function(e){let t=[];for(let o=0;o<e;o++){let e=eO.filter(e=>e!==t[o-1]),r=Math.floor(Math.random()*e.length);t.push(e[r])}return t})(l.length)),[C]=(0,i.useState)(()=>({beeps:["/nicehat.png","/queencrown.png","/suaveglasses.png","/nicehat.png","/queencrown.png","/suaveglasses.png","/nicehat.png","/suaveglasses.png"].map((e,t)=>({src:e,startX:(Math.random()-.5)*600,startY:400+200*Math.random(),endX:(Math.random()-.5)*300,endY:(Math.random()-.5)*200,rotation:(Math.random()-.5)*30,duration:1.2+.3*Math.random(),delay:.15+.08*t})),dots:Array.from({length:16},(e,t)=>({x:(Math.random()-.5)*700,y:(Math.random()-.5)*700,delay:.3+.06*t}))}));(0,i.useEffect)(()=>{let e=localStorage.getItem("instruction-progress");if(e)try{let t=JSON.parse(e);h(t.currentStep||c()),m(new Set(t.completedSteps||[]))}catch(e){console.error("Failed to load progress:",e)}},[t,o]),(0,i.useEffect)(()=>{localStorage.setItem("instruction-progress",JSON.stringify({currentStep:d,completedSteps:Array.from(p)}))},[d,p]);let N=(0,i.useRef)(null);(0,i.useEffect)(()=>{let e=N.current;if(!e)return;let t=()=>{if(window.innerWidth>=1280)return;let t=e.querySelectorAll("[data-instruction-block]");if(0===t.length)return;let o=t[t.length-1],r=o.offsetTop+o.offsetHeight+40;e.style.minHeight=`${Math.max(400,r)}px`},o=setTimeout(t,200),r=setTimeout(t,600),i=setTimeout(t,1200);window.addEventListener("resize",t);let n=e.querySelector("img");return n&&n.addEventListener("load",t),()=>{clearTimeout(o),clearTimeout(r),clearTimeout(i),window.removeEventListener("resize",t),n&&n.removeEventListener("load",t)}},[d,u]),(0,i.useEffect)(()=>{h(c())},[t,o]),(0,i.useEffect)(()=>{a?.(d)},[d,a]);let B=l[d],z=B.sectionIndex,F=(d+1)/l.length*100,S=()=>{let t=e[B.sectionIndex].steps;return B.stepIndex===t.length-1},M=["#49BFFA","#FFA1F6","#52C649","#FFC050"],A=()=>{window.scrollTo({top:0,behavior:"smooth"})},L=()=>{d<l.length-1?S()?(P(M[B.sectionIndex%M.length]),w(!0),m(e=>new Set(e).add(d)),setTimeout(()=>{y(!0)},300)):(m(e=>new Set(e).add(d)),x(!0),setTimeout(()=>{h(d+1),x(!1),A()},300)):(m(e=>new Set(e).add(d)),y(!0))},E=()=>{y(!1),w(!1),d<l.length-1&&(x(!0),setTimeout(()=>{h(d+1),x(!1),A()},300))},I=Math.floor(d/3)+1;return I<e.length&&e[I].title,(0,r.jsxs)("div",{className:"",children:[(0,r.jsx)("h2",{className:"text-2xl sm:text-3xl font-semibold px-2 transition-colors duration-300 pt-10 pb-4",children:B.sectionTitle}),(0,r.jsxs)("div",{className:"relative z-10 bg-white rounded-2xl p-1 pb-4 border md:p-1",children:[(0,r.jsxs)("div",{className:"bg-card p-1 space-y-2 mb-4 rounded-xl",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between text-sm text-muted-foreground px-3 pt-3",children:[(0,r.jsxs)("span",{className:"font-semibold",children:["Step ",d+1," of ",l.length]}),(0,r.jsxs)("span",{children:[Math.round(F),"% Complete"]})]}),(0,r.jsx)("div",{className:"h-2 bg-muted overflow-hidden rounded-none mx-3 mb-3",children:(0,r.jsx)("div",{className:"h-full transition-all duration-300 bg-foreground rounded-xs",style:{width:`${F}%`}})})]}),(0,r.jsx)("div",{className:"hidden bg-card p-1 rounded-2xl flex items-center justify-center gap-2 mb-6",children:l.map((e,t)=>(0,r.jsx)("button",{onClick:()=>{x(!0),setTimeout(()=>{h(t),x(!1)},300)},className:`relative w-3 h-3 rounded-full transition-all ${t===d?"bg-primary scale-125":p.has(t)?"bg-green-500":"bg-muted-foreground/30 hover:bg-muted-foreground/50"}`,"aria-label":`Go to step ${t+1}`,children:p.has(t)&&t!==d&&(0,r.jsx)(eH,{className:"absolute inset-0 w-3 h-3 text-white",strokeWidth:3})},t))}),(0,r.jsx)("div",{className:`space-y-6 transition-opacity duration-300 ${b?"opacity-0":"opacity-100"}`,children:(0,r.jsxs)("div",{ref:N,className:"relative min-h-[400px]",children:[B.imageUrl&&(0,r.jsx)("img",{id:`section-image-${z}`,src:B.imageUrl,alt:B.imageAlt,className:"w-full xl:max-w-lg h-auto rounded-lg border-0 shadow-none"}),B.blocks.map((e,t)=>{let o;return(0,r.jsx)(eR,{text:e.text,imageSelector:`#section-image-${z}`,targetPoints:e.targetPoints,initialPosition:e.initialPosition||{x:900,y:150},index:t,stepNumber:d+1,lineColor:function(e){if(e)return e in eI?eI[e]:e}(e.color)||(o=(eq[d%eq.length]+t)%eT.length,eT[o]),lineWidth:e.lineWidth,variant:e.variant,chips:e.chips,thumbnailUrl:e.thumbnailUrl,chipColors:e.chipColors,videoUrl:e.videoUrl,videoTitle:e.videoTitle,isBlockCompleted:u.has(`${d}-${t}`),onToggleComplete:()=>{let e;return e=`${d}-${t}`,void g(t=>{let o=new Set(t);return o.has(e)?o.delete(e):o.add(e),o})},showDoneButton:t===B.blocks.length-1,onDone:L,isLastStep:S()},`step-${d}-block-${t}`)})]})}),j[d]&&(0,r.jsx)(s.AnimatePresence,{mode:"wait",children:(0,r.jsx)(n.motion.div,{className:"px-6 pt-4",initial:{opacity:0,y:20}
1,animate:{opacity:1,y:0},exit:{opacity:0,y:10},transition:{duration:.4,delay:.2,ease:[.25,.46,.45,.94]},children:(0,r.jsxs)("div",{className:"flex items-end gap-3 group cursor-pointer",children:[(0,r.jsx)(n.motion.div,{animate:{y:[0,-4,0]},transition:{duration:1.5,repeat:1/0,ease:"easeInOut"},className:"flex-shrink-0",children:(0,r.jsx)("img",{src:eD[j[d]]||"/placeholder.svg",alt:"",className:"object-contain w-8 h-8"})}),B.hint&&(0,r.jsxs)("div",{className:"relative mb-1",children:[(0,r.jsxs)("div",{className:"relative transition-all duration-300 group-hover:opacity-0 group-hover:pointer-events-none",children:[(0,r.jsx)("div",{className:"rounded-2xl rounded-bl-md px-3.5 py-2",style:{backgroundColor:B.hintColor||"#49BFFA",fontFamily:'"PP Mori SemiBold", var(--font-body)'},children:(0,r.jsxs)("div",{className:"flex gap-1 items-center h-4",children:[(0,r.jsx)(n.motion.span,{className:"w-1.5 h-1.5 rounded-full bg-white/80",animate:{y:[0,-3,0]},transition:{duration:.8,repeat:1/0,ease:"easeInOut",delay:0}}),(0,r.jsx)(n.motion.span,{className:"w-1.5 h-1.5 rounded-full bg-white/80",animate:{y:[0,-3,0]},transition:{duration:.8,repeat:1/0,ease:"easeInOut",delay:.15}}),(0,r.jsx)(n.motion.span,{className:"w-1.5 h-1.5 rounded-full bg-white/80",animate:{y:[0,-3,0]},transition:{duration:.8,repeat:1/0,ease:"easeInOut",delay:.3}})]})}),(0,r.jsx)("svg",{className:"absolute -left-[5px] -bottom-[1px]",width:"12",height:"8",viewBox:"0 0 12 8",fill:"none",children:(0,r.jsx)("path",{d:"M12 0C12 0 12 4 8 6C4 8 0 8 0 8C3 7.5 5 6 6 4.5C7 3 7.5 0 12 0Z",fill:B.hintColor||"#49BFFA"})})]}),(0,r.jsxs)("div",{className:"absolute left-0 bottom-0 opacity-0 scale-95 group-hover:opacity-100 group-hover:scale-100 transition-all duration-300 pointer-events-none",children:[(0,r.jsx)("div",{className:"rounded-2xl rounded-bl-md px-4 py-2.5",style:{backgroundColor:B.hintColor||"#49BFFA",minWidth:"280px",maxWidth:"400px",fontFamily:'"PP Mori SemiBold", var(--font-body)'},children:(0,r.jsx)("p",{className:"text-white text-sm whitespace-normal",children:B.hint})}),(0,r.jsx)("svg",{className:"absolute -left-[5px] -bottom-[1px]",width:"12",height:"8",viewBox:"0 0 12 8",fill:"none",children:(0,r.jsx)("path",{d:"M12 0C12 0 12 4 8 6C4 8 0 8 0 8C3 7.5 5 6 6 4.5C7 3 7.5 0 12 0Z",fill:B.hintColor||"#49BFFA"})})]})]})]})},`mascot-${d}`)})]}),(0,r.jsxs)("div",{className:"flex items-center justify-between gap-4 px-4 py-3 pt-8 -mt-4 rounded-b-2xl border border-[#e0e0e0] border-t-0",style:{backgroundColor:"#FAF9F5"},children:[(0,r.jsxs)(eP,{onClick:()=>{d>0&&(x(!0),setTimeout(()=>{h(d-1),x(!1),A()},300))},disabled:0===d,className:"gap-2 transition-all duration-300 hover:scale-105 border shadow-xs",style:{backgroundColor:"#FDFCFA",color:"#828180",borderColor:"#EFEFED"},children:[(0,r.jsx)("svg",{className:"w-4 h-4 rotate-180",viewBox:"0 0 31 25",fill:"none",children:(0,r.jsx)("path",{d:"M30.3464 13.8344L19.2217 24.9591L17.1893 23.1763L26.5669 13.8344H0.0029683V11.1245H26.5669L17.1893 1.78257L19.2217 -0.00024296L30.3464 11.1245V13.8344Z",fill:"currentColor"})}),"Previous"]}),d===l.length-1?(0,r.jsxs)(eP,{onClick:()=>{m(e=>new Set(e).add(d))},className:"gap-2 bg-green-600 hover:bg-green-700 transition-all duration-300 hover:scale-105 hover:shadow-lg hover:shadow-green-600/30",children:[(0,r.jsx)(eH,{className:"w-4 h-4"}),p.has(d)?"Completed":"Complete"]}):(0,r.jsx)(eP,{onClick:L,className:"gap-2 font-semibold text-white transition-all duration-300 hover:scale-105 hover:shadow-lg shadow-sm",style:S()?{backgroundColor:"#52C649"}:{backgroundColor:"#49BFFA"},children:S()?(0,r.jsxs)(r.Fragment,{children:["Complete Section",(0,r.jsx)(eH,{className:"w-4 h-4"})]}):(0,r.jsxs)(r.Fragment,{children:["Next",(0,r.jsx)("svg",{className:"w-4 h-4",viewBox:"0 0 31 25",fill:"none",children:(0,r.jsx)("path",{d:"M30.3464 13.8344L19.2217 24.9591L17.1893 23.1763L26.5669 13.8344H0.0029683V11.1245H26.5669L17.1893 1.78257L19.2217 -0.00024296L30.3464 11.1245V13.8344Z",fill:"currentColor"})})]})})]}),(0,r.jsx)(s.AnimatePresence,{children:v&&(0,r.jsxs)(n.motion.div,{className:"fixed inset-0 z-40 flex items-center justify-center overflow-hidden",style:{backgroundColor:k},initial:{clipPath:"circle(0% at 50% 50%)"},animate:{clipPath:"circle(150% at 50% 50%)"},exit:{opacity:0}
1,transition:{clipPath:{duration:.8,ease:[.22,1,.36,1]},opacity:{duration:.5,delay:0}},children:[C.beeps.map((e,t)=>(0,r.jsx)(n.motion.img,{src:e.src,alt:"",className:"absolute w-14 h-14 object-contain",initial:{x:e.startX,y:e.startY,opacity:0,scale:.3,rotate:0},animate:{x:[e.startX,e.endX],y:[e.startY,e.endY],opacity:[0,1,1],scale:[.3,1],rotate:[0,e.rotation]},transition:{duration:e.duration,delay:e.delay,ease:"easeOut"}},t)),C.dots.map((e,t)=>(0,r.jsx)(n.motion.div,{className:"absolute w-2.5 h-2.5 rounded-full bg-white/30",initial:{x:e.x,y:e.y,scale:0},animate:{x:e.x,y:e.y,scale:[0,1.2,1]},transition:{duration:.9,delay:e.delay,ease:"easeOut"}},`dot-${t}`))]})}),(0,r.jsx)(s.AnimatePresence,{children:f&&(0,r.jsxs)(n.motion.div,{className:"fixed inset-0 z-50 flex items-center justify-center",initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},onClick:E,children:[Array.from({length:40}).map((e,t)=>{let o=9*t*Math.PI/180,i=80+200*Math.random(),s=["#49BFFA","#52C649","#FFA1F6","#FFC050","#FF6B6B","#FFFFFF"],a=s[t%s.length],l=4+6*Math.random();return(0,r.jsx)(n.motion.div,{className:"absolute rounded-full",style:{backgroundColor:a,width:l,height:l},initial:{x:0,y:0,opacity:1,scale:0},animate:{x:Math.cos(o)*i,y:Math.sin(o)*i-60,opacity:[0,1,1,0],scale:[0,1.5,1,0]},transition:{duration:1.2+.8*Math.random(),delay:.1+.3*Math.random(),ease:"easeOut"}},t)}),Array.from({length:24}).map((e,t)=>{let o=(15*t+7)*Math.PI/180,i=60+160*Math.random(),s=["#FFC050","#49BFFA","#FFA1F6","#52C649"],a=s[t%s.length];return(0,r.jsx)(n.motion.div,{className:"absolute rounded-full",style:{backgroundColor:a,width:5,height:5},initial:{x:0,y:-40,opacity:0,scale:0},animate:{x:Math.cos(o)*i,y:Math.sin(o)*i-100,opacity:[0,1,1,0],scale:[0,1.2,.8,0]},transition:{duration:1,delay:.6+.4*Math.random(),ease:"easeOut"}},`burst2-${t}`)}),(0,r.jsxs)(n.motion.div,{className:"relative rounded-2xl p-8 pb-10 max-w-sm w-full mx-4 text-center overflow-hidden",initial:{scale:.5,y:40,opacity:0},animate:{scale:1,y:0,opacity:1},exit:{scale:.9,opacity:0},transition:{duration:.5,delay:.15,ease:[.34,1.56,.64,1]},onClick:e=>e.stopPropagation(),children:[(0,r.jsx)("div",{className:"absolute inset-0 bg-card",style:{backgroundImage:"url(/successBeep.svg)",backgroundSize:"cover",backgroundPosition:"center"}}),(0,r.jsx)(n.motion.div,{className:"relative z-10 flex justify-center mb-6",animate:{y:[0,-12,0]},transition:{duration:.8,repeat:1/0,ease:"easeInOut"},children:(0,r.jsx)("img",{src:eD[j[d]]||"/nicehat.png",alt:"",className:"object-contain h-12 w-12"})}),(0,r.jsxs)("div",{className:"relative z-10 bg-white px-6 py-5 mb-4 shadow-sm rounded-lg",children:[(0,r.jsx)(n.motion.h3,{className:"text-2xl font-bold text-foreground mb-1",initial:{opacity:0,y:10},animate:{opacity:1,y:0},transition:{delay:.35},children:"Section Complete!"}),(0,r.jsxs)(n.motion.p,{className:"text-muted-foreground text-sm",initial:{opacity:0}
1,animate:{opacity:1},transition:{delay:.45},children:["You finished ",(0,r.jsx)("span",{className:"font-semibold text-foreground",children:e[B.sectionIndex].title})]})]}),(0,r.jsx)(n.motion.div,{className:"relative z-10",initial:{opacity:0,y:10},animate:{opacity:1,y:0},transition:{delay:.55},children:d<l.length-1?(0,r.jsxs)(eP,{onClick:E,className:"w-full gap-2 font-semibold transition-all duration-300 hover:scale-105",style:{backgroundColor:"#49BFFA"},children:["Continue to ",e[B.sectionIndex+1]?.title||"Next",(0,r.jsx)(e$,{className:"w-4 h-4"})]}):(0,r.jsxs)(eP,{onClick:E,className:"w-full gap-2 font-semibold bg-green-600 hover:bg-green-700",children:[(0,r.jsx)(eH,{className:"w-4 h-4"}),"All Done!"]})})]})]})})]})}function eX({className:e,...t}){return(0,r.jsx)("div",{"data-slot":"card",className:eg("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",e),...t})}var eW=e.i(76841),eY=e.i(23879);let eG=["/images/banners/banner1.png","/images/banners/banner2.png","/images/banners/banner3.png","/images/banners/banner4.png"];function eV({sections:e,onStartInstructions:t,onSelectSection:o}){let[a,l]=(0,i.useState)(new Set),[c,d]=(0,i.useState)(0),{colors:h}=(0,eY.useTheme)(),[p,m]=(0,i.useState)(new Set);(0,i.useEffect)(()=>{let e=localStorage.getItem("instruction-progress");if(e)try{let t=JSON.parse(e);m(new Set(t.completedSteps||[]))}catch(e){console.error("Failed to load progress:",e)}},[]),(0,i.useEffect)(()=>{let e=setInterval(()=>{d(e=>(e+1)%eG.length)},5e3);return()=>clearInterval(e)},[]);let u=["#49BFFA","#52C649","#FFA1F6","#FFC050"],g=["https://hebbkx1anhila5yf.public.blob.vercel-storage.com/Directory_Brain-tR74Hy2SXKHB2UCzDdF0j1knvVKCga.png","https://hebbkx1anhila5yf.public.blob.vercel-storage.com/Directory_body-yQThKtYmofgJMsE5gvb3IWSRSAgDxj.png","https://hebbkx1anhila5yf.public.blob.vercel-storage.com/Directory_frontlegs-HL18ZgnMAJXFQKp6lymsiUnpArvLJy.png","https://hebbkx1anhila5yf.public.blob.vercel-storage.com/Directory_hindlegs-JGCP1VPy3588h7hzqOVNKLrX1HMIhS.png"],b=()=>e.reduce((e,t)=>e+(t.steps?.length||0),0);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"min-h-screen flex flex-col items-center justify-start px-1 sm:px-8 py-4 sm:py-8 gap-0 pt-4 sm:pt-8 pb-0 transition-colors duration-300 overflow-x-hidden overflow-y-visible bg-white sm:bg-[var(--bg-main)]",style:{"--bg-main":h.mainBg},children:(0,r.jsxs)("div",{className:"w-full overflow-hidden rounded-[8px] sm:bg-white sm:border-b-[3px] sm:border-[#E0E0E0]",children:[(0,r.jsxs)(n.motion.div,{className:"w-full relative overflow-hidden rounded-lg border-0 hidden",style:{borderColor:"#1A1A1A"},initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.6,ease:[.25,.46,.45,.94]},children:[(0,r.jsxs)("div",{className:"hidden sm:block w-full relative",style:{aspectRatio:"16/3.5"},children:[(0,r.jsx)(s.AnimatePresence,{mode:"wait",children:(0,r.jsx)(n.motion.img,{src:eG[c],alt:"BEEP banner",className:"absolute inset-0 w-full h-full object-cover",initial:{opacity:0}
1,animate:{opacity:1},exit:{opacity:0},transition:{duration:.6,ease:"easeInOut"}},c)}),(0,r.jsx)("div",{className:"absolute bottom-3 left-1/2 -translate-x-1/2 flex gap-1.5",children:eG.map((e,t)=>(0,r.jsx)("button",{onClick:()=>d(t),className:`w-2 h-2 rounded-full transition-all duration-300 ${t===c?"bg-white w-5":"bg-white/40"}`,"aria-label":`Go to banner ${t+1}`},t))})]}),(0,r.jsx)("div",{className:"block sm:hidden w-full border-0",style:{backgroundImage:'url("/mobileBanner.png")',backgroundSize:"cover",backgroundPosition:"center",aspectRatio:"9/16"}}),(0,r.jsxs)("div",{className:"hidden",children:[(0,r.jsx)("h1",{className:"text-4xl sm:text-5xl md:text-6xl font-serif font-bold tracking-tight text-white",children:"Interactive Assembly Guide"}),(0,r.jsx)("p",{className:"text-lg sm:text-xl text-white/90 max-w-2xl mx-auto",children:"Follow along with our step-by-step visual instructions to complete your build"}),(0,r.jsx)(eP,{onClick:t,size:"lg",className:"mt-4 px-8 py-6 font-bold text-2xl",children:"Start Building"})]})]}),(0,r.jsxs)(n.motion.div,{className:"w-full flex flex-col gap-0 justify-start items-stretch rounded-[8px] my-0 border border-white sm:border-[rgba(224,224,224,1)] bg-white sm:bg-transparent",initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.7,delay:.2,ease:[.25,.46,.45,.94]},children:[(0,r.jsxs)("div",{className:"hidden sm:flex items-center justify-between p-1.5 py-1 px-1 bg-[#F4F3F0] rounded-t-[8px] bg-card border-r-0 border-b border-[rgba(224,224,224,1)]",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 bg-white rounded-[8px] px-0.5 py-0.5 pr-2.5 pt-0.5",children:[(0,r.jsx)("img",{src:"/producthome.svg",alt:"",className:"w-5 h-5"}),(0,r.jsx)("span",{className:"font-sans font-semibold text-sm text-foreground tracking-wide",children:"Build Curriculum"})]}),(0,r.jsx)("div",{className:"flex items-center gap-2 bg-card rounded-sm py-1 px-2 pr-1"})]}),(0,r.jsxs)("div",{className:"flex sm:hidden flex-col items-center px-4 gap-0 my-0 pb-8 pt-40",children:[(0,r.jsx)("img",{src:"https://hebbkx1anhila5yf.public.blob.vercel-storage.com/mobile_hero_beep-R6ND0TtmvTdOor4a5IoAQXzCFqlOUv.png",alt:"",className:"w-32 h-auto"}),(0,r.jsx)("h2",{className:"mt-3 text-3xl text-[#0D0D0D] text-center",style:{letterSpacing:"-0.02em",fontFamily:"'PP Neue Machina', sans-serif",fontWeight:900,textTransform:"uppercase",lineHeight:.8},children:"step-by-step build guide"}),(0,r.jsx)("p",{className:"mt-1 text-base text-[#8F8F8F]",style:{letterSpacing:"0.01em",fontFamily:"var(--font-sans)",fontWeight:400},children:"Let's begin building Pupper!"}),(0,r.jsx)("div",{className:"relative w-screen h-14 overflow-hidden mt-4 -mx-4",children:[{src:"/nicehat.png",color:"#49BFFA",delay:0,duration:18,startX:-100},{src:"/queencrown.png",color:"#FFC050",delay:2,duration:22,startX:-100},{src:"/suaveglasses.png",color:"#52C649",delay:5,duration:16,startX:-100},{src:"/nicehat.png",color:"#FFA1F6",delay:8,duration:20,startX:-100},{src:"/queencrown.png",color:"#49BFFA",delay:11,duration:24,startX:-100},{src:"/suaveglasses.png",color:"#FFC050",delay:14,duration:17,startX:-100}].map((e,t)=>(0,r.jsxs)(n.motion.div,{className:"absolute bottom-2 flex flex-col items-center",initial:{x:e.startX},animate:{x:[e.startX,window.innerWidth]},transition:{duration:e.duration,delay:e.delay,repeat:1/0,ease:"linear"},children:[(0,r.jsx)(n.motion.div,{animate:{y:[0,-8,0]},transition:{duration:.6,repeat:1/0,ease:"easeInOut",delay:.15*t},children:(0,r.jsx)("img",{src:e.src||"/placeholder.svg",alt:"",className:"w-7 h-7 object-contain"})}),(0,r.jsx)(n.motion.div,{className:"w-5 h-1 rounded-full mt-0.5 opacity-30",style:{backgroundColor:"#000"},animate:{scaleX:[1,.7,1]},transition:{duration:.6,repeat:1/0,ease:"easeInOut",delay:.15*t}})]},t))})]}),(0,r.jsxs)("div",{className:"hidden sm:block px-4 sm:px-5 py-4 pb-2 pr-4 my-[19px] pt-0 mb-16 sm:mt-20",children:[(0,r.jsx)("h2",{className:"font-sans leading-snug text-foreground tracking-tight text-balance font-medium text-3xl",children:"Pupper V3 Build Instructions"}),(0,r.jsxs)("div",{className:"flex flex-wrap gap-2 mt-3",children:[(0,r.jsxs)("div",{className:"inline-flex items-center px-3 py-1 rounded-[8px] text-sm text-muted-foreground bg-card gap-1.5 pl-0.5 pt-0.5 pb-0.5 pr-1.5 border-0",children:[(0,r.jsx)("img",{src:"/time.svg",alt:"",className:"w-5 h-5"}),b()," total steps"]}),(0,r.jsxs)("div",{className:"inline-flex items-center px-3 py-1 rounded-[8px] text-sm text-muted-foreground bg-card gap-1.5 pl-1.5 pt-0.5 pb-0.5 pr-1.5 border-0",children:[e.length," sections"]})]})]}),(0,r.jsxs)("h3",{className:"text-[18px] leading-[110%] text-foreground px-4 py-2 tracking-tight sm:px-2.5 font-sans font-semibold flex items-center gap-2",children:["All Sections",(0,r.jsxs)("span",{className:"sm:hidden inline-flex items-center px-2 py-0.5 rounded-[6px] text-xs text-muted-foreground bg-card gap-1 pl-0.5",children:[(0,r.jsx)("img",{src:"/time.svg",alt:"",className:"w-4 h-4"}),b()," steps"]})]}),(0,r.jsx)("div",{className:"grid px-1.5 sm:px-2.5 gap-2 sm:pl-1 sm:pr-1 pb-1 pl-0 pr-0",children:e.map((t,i)=>{let c=a.has(i),d=t.steps?.length||0;return(0,r.jsxs)(eX,{className:"rounded-[8px] p-1 shadow-none border border-[#
1E0E0E0] sm:border-[#EEEBE3]",style:{boxShadow:"0 2px 12px rgba(0,0,0,0.04), 0 1px 3px rgba(0,0,0,0.03)"},children:[(0,r.jsxs)("div",{className:"group flex hover:bg-accent transition-colors cursor-pointer rounded-[6px]",onClick:()=>{l(e=>{let t=new Set(e);return t.has(i)?t.delete(i):t.add(i),t})},children:[(0,r.jsx)("div",{className:"flex-shrink-0",children:(0,r.jsx)("div",{className:"h-full rounded-[6px] flex items-center justify-center w-20 overflow-hidden",children:(0,r.jsx)("img",{src:g[i]||"/placeholder.svg",alt:t.title,className:"w-full h-full object-cover rounded-none"})})}),(0,r.jsxs)("div",{className:"flex-1 flex items-center py-2 ml-3 pr-6",children:[(0,r.jsxs)("div",{className:"flex-1",children:[(0,r.jsx)("h3",{className:"text-xl lg:text-2xl font-bold mb-1",children:t.title}),(0,r.jsx)("div",{className:"flex flex-wrap gap-1.5",children:(0,r.jsxs)("div",{className:"inline-flex items-center px-3 py-1 rounded-[8px] border text-sm lg:text-base text-muted-foreground bg-card gap-1.5 pl-0.5 pt-0.5 pb-0.5 pr-1.5",children:[(0,r.jsx)("img",{src:"/time.svg",alt:"",className:"w-5 lg:w-6 h-5 lg:h-6"}),d," step",1!==d?"s":""]})})]}),(0,r.jsx)("div",{className:"flex-shrink-0 flex items-center gap-2",children:(0,r.jsx)("svg",{className:`transition-all duration-200 text-[rgba(224,224,224,1)] group-hover:text-[#59595B] h-5 w-4 ${c?"rotate-180":""}`,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})})]})]}),(0,r.jsx)(s.AnimatePresence,{initial:!1,children:c&&t.steps&&(0,r.jsx)(n.motion.div,{initial:{height:0,opacity:0},animate:{height:"auto",opacity:1},exit:{height:0,opacity:0},transition:{duration:.3,ease:[.4,0,.2,1]},className:"overflow-hidden",children:(0,r.jsxs)("div",{className:"px-6 space-y-2 border-t border-[#F1F1F1] pl-0 pb-2 pr-0",children:[t.materials&&t.materials.length>0&&(0,r.jsxs)(n.motion.div,{initial:{opacity:0,y:-10},animate:{opacity:1,y:0},transition:{delay:.1,duration:.2},className:"px-3 border border-r-0 border-t-0 border-l-0 border-muted pb-9 pt-5",children:[(0,r.jsx)("p",{className:"text-xs font-semibold text-muted-foreground tracking-wide mb-2",children:"Materials needed"}),(0,r.jsx)("div",{className:"flex flex-wrap gap-1.5",children:t.materials.map(e=>(0,r.jsx)("span",{className:"inline-flex items-center px-2.5 py-1 rounded-[8px] border border-[#E0E0E0] text-sm text-muted-foreground bg-card",children:e},e))})]}),(0,r.jsx)("div",{className:"space-y-2 pt-0",children:t.steps.map((t,s)=>{let a=((t,o)=>{let r=0;for(let o=0;o<t;o++)r+=e[o].steps?.length||0;return r+o})(i,s),l=u[a%u.length],c=["/nicehat.png","/queencrown.png","/suaveglasses.png"],d=c[a%c.length],h=p.has(a);return(0,r.jsxs)(n.motion.div,{initial:{opacity:0,x:-10},animate:{opacity:1,x:0},transition:{delay:.05*s,duration:.2},className:"flex items-center gap-3 p-3 hover:bg-accent transition-colors cursor-pointer border-b border-[#F1F1F1] rounded-none relative my-1.5 py-4",onClick:e=>{e.stopPropagation(),window.scrollTo({top:0,behavior:"instant"}),o(i,s)},children:[(0,r.jsx)("div",{className:"flex-shrink-0 flex items-center justify-center rounded-sm overflow-hidden h-10 w-10",style:{backgroundColor:l},children:(0,r.jsx)("img",{src:d||"/placeholder.svg",alt:`Step ${a+1}`,className:"w-3/4 h-3/4 object-contain"})}),(0,r.jsxs)("div",{className:"flex-1 flex flex-col",children:[(0,r.jsxs)("span",{className:"text-xs font-semibold text-ring pb-1",children:["STEP ",a+1]}),(0,r.jsx)("span",{className:"text-sm font-medium",children:t.title})]}),h&&(0,r.jsx)("div",{className:"flex-shrink-0 w-4 h-4 flex items-center justify-center mr-1",children:(0,r.jsx)("img",{src:"/icons/check.svg",alt:"Completed",className:"w-3 h-3"})})]},s)})})]})})})]},t.id)})})]})]})}),(0,r.jsxs)("div",{className:"w-full transition-colors duration-300 overflow-hidden",style:{backgroundColor:h.mainBg},children:[(0,r.jsxs)("div",{className:"relative w-full h-14 overflow-hidden",children:[(0,r.jsx)("div",{className:"absolute bottom-0 left-0 right-0 h-px bg-white/20"}
1),[{src:"/nicehat.png",color:"#49BFFA",delay:0,duration:18,startX:-100},{src:"/queencrown.png",color:"#FFC050",delay:2,duration:22,startX:-100},{src:"/suaveglasses.png",color:"#52C649",delay:5,duration:16,startX:-100},{src:"/nicehat.png",color:"#FFA1F6",delay:8,duration:20,startX:-100},{src:"/queencrown.png",color:"#49BFFA",delay:11,duration:24,startX:-100},{src:"/suaveglasses.png",color:"#FFC050",delay:14,duration:17,startX:-100}].map((e,t)=>(0,r.jsxs)(n.motion.div,{className:"absolute bottom-2 flex flex-col items-center",initial:{x:e.startX},animate:{x:[e.startX,window.innerWidth]},transition:{duration:e.duration,delay:e.delay,repeat:1/0,ease:"linear"},children:[(0,r.jsx)(n.motion.div,{animate:{y:[0,-8,0]},transition:{duration:.6,repeat:1/0,ease:"easeInOut",delay:.15*t},children:(0,r.jsx)("img",{src:e.src||"/placeholder.svg",alt:"",className:"w-7 h-7 object-contain"})}),(0,r.jsx)(n.motion.div,{className:"w-5 h-1 rounded-full mt-0.5 opacity-30",style:{backgroundColor:"#000"},animate:{scaleX:[1,.7,1]},transition:{duration:.6,repeat:1/0,ease:"easeInOut",delay:.15*t}})]},t))]}),(0,r.jsx)("div",{className:"px-2 pb-2",children:(0,r.jsx)(eW.Footer,{})})]})]})}var e_=e.i(76573);let eQ=[{id:"section-1",title:"The Brain",thumbnail:"/armsThumb.png",color:"BeepBlue",imageUrl:"/images/brain/step1.jpg",imageAlt:"Raspberry Pi brain assembly components",tags:["Screwdriver"],materials:["Raspberry Pi 5","Camera module","Cooling fan","Thermal pads","M2.5 screws","Screwdriver"],steps:[{title:"Gather brain components",description:"Collect all components needed for the brain assembly",image:"https://pllqebbk9iau5zzk.public.blob.vercel-storage.com/Beep%20Brain/brain-step1.png",hint:"Lay everything out on a clean, flat surface before you start!",hintColor:"BeepBlue",blocks:[{text:"Locate the Raspberry Pi 5 board - this is the main brain of your robot",targetPoints:[{x:.9,y:.68}],initialPosition:{x:900,y:150}},{text:"Find the camera/cooling module assembly with the fan",targetPoints:[{x:.8,y:.25}],initialPosition:{x:900,y:320}},{text:"Identify the thermal pads on the right side",targetPoints:[{x:.12,y:.35}],initialPosition:{x:900,y:490}},{variant:"video",videoUrl:"https://player.mux.com/A7C01we41u00Qgbu23ktzMdoiyIbyMDIPsg2rbM25x01RM",hidden:!0}]},{title:"Apply thermal pads",description:"Place thermal pads on the Raspberry Pi board",image:"https://pllqebbk9iau5zzk.public.blob.vercel-storage.com/Beep%20Brain/brain-step2.png",hint:"Do not touch the sticky
1side of the thermal pads with your fingers!",hintColor:"BeepYellow",blocks:[{text:"Remove plastic film from both sides of the thermal pads",targetPoints:[{x:.75,y:.45}],initialPosition:{x:900,y:130}},{text:"Place thermal pads on the designated locations of the Raspberry Pi",targetPoints:[{x:.48,y:.62}],initialPosition:{x:900,y:490}}]},{title:"Mount camera module",description:"Attach the camera and cooling assembly to the board",image:"https://pllqebbk9iau5zzk.public.blob.vercel-storage.com/Beep%20Brain/brain-step3.png",hint:"Careful with the ribbon cable -- do not bend it too sharply.",hintColor:"BeepGreen",blocks:[{variant:"chips",text:"Use the M2 x4mm screws that come with M.2 adaptor board",chips:["M2 Screw x 2","x2"],chipColors:["orange","blue"],thumbnailUrl:"https://pllqebbk9iau5zzk.public.blob.vercel-storage.com/Materials/m2x4mm.jpg"},{text:"Align the cooler mounting holes with those of the Raspberry Pi, as illustrated.",targetPoints:[{x:.72,y:.3}],initialPosition:{x:900,y:150}},{text:"Use two screws to secure the camera/cooling module",targetPoints:[{x:.35,y:.57},{x:.78,y:.77}]}]},{title:"Secure back screws",description:"Fasten screws from the back of the board",image:"https://pllqebbk9iau5zzk.public.blob.vercel-storage.com/Beep%20Brain/brain-step4.png",blocks:[{text:"Flip the board over to access the back side",targetPoints:[{x:.85,y:.3}],initialPosition:{x:900,y:150}},{text:"Tighten the two screws from the back to secure the module",targetPoints:[{x:.36,y:.32},{x:.865,y:.55}],initialPosition:{x:900,y:320}}]},{title:"Attaching the fan and ribbon cable",description:"Fasten screws from the back of the board",image:"https://pllqebbk9iau5zzk.public.blob.vercel-storage.com/Beep%20Brain/brain-step5.png",blocks:[{text:"Attach the fan cable from the adapter board to the Raspberry Pi.",targetPoints:[{x:.37,y:.42}],initialPosition:{x:900,y:150}},{text:"To attach the ribbon cable to the Raspberry Pi, first gently release the cable lock socket on the Pi by pulling the brown portion upward. Then, insert the ribbon cable into the slot, ensuring correct orientation and complete insertion. Finally, push down the brown portion to secure the cable.",targetPoints:[{x:.52,y:.74},{x:.97,y:.26}],initialPosition:{x:900,y:320}}]},{title:"Detaching AI Accelerator",description:"Detach the AI Accelerator",image:"https://pllqebbk9iau5zzk.public.blob.vercel-storage.com/Beep%20Brain/brain-step6-v2.png",blocks:[{text:"Detach the AI accelerator from the original board by removing the thumbscrew.",targetPoints:[{x:.77,y:.69}],initialPosition:{x:900,y:150}}]},{title:"Thermal Pad Application",description:"Attaching the Thermal Pads",image:"https://pllqebbk9iau5zzk.public.blob.vercel-storage.com/Beep%20Brain/brain-step7-v2.png",blocks:[{text:"Following board removal, carefully peel the thermal pad from the M.2 hat and affix it to the M.2 adapter on the Raspberry Pi.",targetPoints:[{x:.84,y:.33},{x:.45,y:.66}],initialPosition:{x:900,y:150}}]},{title:"Re-insertion of AI Accelerator",description:"Inserting the AI accelerator in to the M.2 slot",image:"https://pllqebbk9iau5zzk.public.blob.vercel-storage.com/Beep%20Brain/brain-step8.png",blocks:[{text:"Insert the AI accelerator into the M.2 slot on the adapter board.",targetPoints:[{x:.87,y:.34}]}]},{title:"Re-insertion of AI Accelerator, cont...",description:"Inserting the AI accelerator continued...",image:"https://pllqebbk9iau5zzk.public.blob.vercel-storage.com/Beep%20Brain/brain-step9-v2.png",blocks:[{text:"Use the thumbscrew included with the M.2 adapter board (not the ones you just took off) to fasten the AI accelerator to the M.2 board. Make sure the thumbscrew fits the board like the picture.",targetPoints:[{x:.53,y:.16}],initialPosition:{x:900,y:150}},{text:"Hand tighten this same thumbscrew in to the M.2 adapter board, as shown. Make sure to not over-tighten it!",targetPoints:[{x:.56,y:.7}],initialPosition:{x:900,y:320}}]},{title:"Attaching the Header Extension",description:"Attaching Header to Raspberry Pi",image:"https://pllqebbk9iau5zzk.public.blob.vercel-storage.com/Beep%20Brain/brain-step10.png",blocks:[{text:"Attach the header extension to the Raspberry Pi. Use your nail to press down on the black plastic part to attach to the Raspberry Pi. Do not press on the gold pins.",targetPoints:[{x:.72,y:.15}],initialPosition:{x:900,y:150}},{text:"The extension header should be fully inserted, flush with the Raspberry Pi pin header.",targetPoints:[{x:.8,y:.8}
1],initialPosition:{x:900,y:320}}]},{title:"Locating the HDMI Screen & Adapter",description:"Find the HDMI Screen & Adapter",image:"https://pllqebbk9iau5zzk.public.blob.vercel-storage.com/Beep%20Brain/brain-step11.png",blocks:[{text:"Find the HDMI screen itself and the HDMI-to-Micro HDMI adapter, which is provided in the screen packaging.",targetPoints:[{x:.8,y:.2},{x:.15,y:.5}],initialPosition:{x:900,y:150}}]},{title:"Connecting the HDMI to the Pi",description:"Connect the HDMI to the Raspberry Pi",image:"https://pllqebbk9iau5zzk.public.blob.vercel-storage.com/Beep%20Brain/brain-step12.png",blocks:[{text:"Connect the HDMI port of the Raspberry Pi to the connector. Be careful not to bend it too much - use one finger to hold the connector and another to gently push it in until it is fully seated.",targetPoints:[{x:.83,y:.2}],initialPosition:{x:900,y:150}},{text:"If those holes align with the screen standoff holes, you are good to proceed.",targetPoints:[{x:.23,y:.76},{x:.63,y:.75}],initialPosition:{x:900,y:320}}]},{title:"Checking the Interface",description:"Check the Interface",image:"https://pllqebbk9iau5zzk.public.blob.vercel-storage.com/Beep%20Brain/brain-step13.png",blocks:[{text:"The screen receives power and communicates touch input with the Raspberry Pi 5 through these pogo pins. If the screen does not power on in the next step, verify that the pogo pins are correctly seated.",targetPoints:[{x:.65,y:.36}],initialPosition:{x:900,y:150}},{text:"Interface points between the screen and the Raspberry Pi.",targetPoints:[{x:.65,y:.6}],initialPosition:{x:900,y:320}}]},{title:"Connect the Camera to the the Raspberry Pi",description:"Connecting the Camera to the Raspberry Pie",image:"https://pllqebbk9iau5zzk.public.blob.vercel-storage.com/Beep%20Brain/brain-step14.png",blocks:[{text:"Connect the camera cable to the Raspberry Pi by gently lifting the brown locking tab. This tab is attached to the board; do not attempt to remove it entirely.",targetPoints:[{x:.61,y:.24}],initialPosition:{x:900,y:150}},{text:"Ensure the cable is correctly oriented and fully inserted into the socket. Then, press the brown locking tab down to secure the cable. After locking, confirm that approximately 2mm of the blue cable is visible above the socket.",targetPoints:[{x:.51,y:.69}],initialPosition:{x:900,y:320}}]},{title:"Secure the Camera to the Brain",description:"Securing the Camera to the Brain",image:"https://pllqebbk9iau5zzk.public.blob.vercel-storage.com/Beep%20Brain/brain-step15-v2.png",blocks:[{text:"Secure the camera to the brain bracket using four M2.5x10mm socket head screws.",targetPoints:[{x:.44,y:.135},{x:.565,y:.14},{x:.455,y:.22},{x:.56,y:.22}],initialPosition:{x:900,y:150}},{text:"Attach the brain bracket to the Raspberry Pi as shown in the image.",targetPoints:[{x:.86,y:.6}],initialPosition:{x:900,y:320}}]},{title:"Fasten the Control Board",description:"Fastening the Control Board to the Brain Bracket",image:"https://pllqebbk9iau5zzk.public.blob.vercel-storage.com/Beep%20Brain/brain-step16.png",blocks:[{text:"Fasten the control board to the brain bracket using 4 screws M2.5 x 25mm.",targetPoints:[{x:.625,y:.26},{x:.365,y:.265},{x:.365,y:.415},{x:.625,y:.415}],initialPosition:{x:900,y:150}},{text:"After tightening, ensure that the pogo pin makes contact with the pins on the Raspberry Pi, as shown in the picture below.",targetPoints:[{x:.45,y:.75}],initialPosition:{x:900,y:320}},{text:"If the pogo pins are not aligned, loosen each of the 4 screws about 4 turns to realign the pins."}]},{title:"Connect the Camera",description:"Connecting the camera",image:"https://pllqebbk9iau5zzk.public.blob.vercel-storage.com/Beep%20Brain/brain-step17-v2.png",blocks:[{text:"Connect the other end of the camera cable to the camera. Lift the black locking tab, insert the cable fully into the socket, and then press the tab down to secure it.",targetPoints:[{x:.65,y:.4}],initialPosition:{x:900,y:150}}]},{title:"Secure the Speaker",description:"Securing the Speaker to the Brain Bracket",image:"https://pllqebbk9iau5zzk.public.blob.vercel-storage.com/Beep%20Brain/brain-step18.png",blocks:[{text:"Secure the speaker to the brain bracket using two M2.5x10mm screws.",targetPoints:[{x:.67,y:.1},{x:.83,y:.3}],initialPosition:{x:900,y:150}},{text:"Insert the speaker, making sure that the extra length of the cables falls behind the speaker.",targetPoints:[{x:.62,y:.69}],initialPosition:{x:900,y:320}}]},{title:"Raspberry Pi Startup",description:"Starting up the Raspberry Pi",image:"https://pllqebbk9iau5zzk.public.blob.vercel-storage.com/Beep%20Brain/brain-step19-v2.png",blocks:[{text:"Plug in the provided USB stick into one of the blue USB 3.0 ports on the Raspberry Pi as shown",targetPoints:[{x:.48,y:.39}],initialPosition:{x:900,y:150}},{text:"Plug the Raspberry Pi into a USB C cable connected to a 5V power supply. Attach to the Raspberry Pi USB C connector as shown.",targetPoints:[{x:.6,y:.69}]}]},{title:"Boot the Raspberry Pi",description:"Booting the Raspberry Pie",image:"https://pllqebbk9iau5zzk.public.blob.vercel-storage.com/Beep%20Brain/brain-step20.png",blocks:[{text:"30 - 60 seconds after plugging in the USB-C power cable, the Raspberry Pi should boot and show the PiOS desktop. The desktop image may differ from this photo."},{text:"If nothing shows up after a few minutes, please try:\n1. Unplugging and plugging back in the power.\n2. Ensure the HDMI connector is fully inserted.\n3. Removing and reattaching the display."}]}]},{id:"section-2",title:"The Body",thumbnail:"/legsThumb.png",color:"#52C649",imageUrl:"/images/body/step1.jpg",imageAlt:"Technical diagram showing configuration",materials:["Body frame","PCB board","M2.5 screws","Screwdriver","Standoffs"],steps:[{title:"Secure the Servo to the Body",description:"Securing the Servo to the Body of the Puppy",image:"https://pllqebbk9iau5zzk.public.blob.vercel-storage.com/Beep%20Body/body-step21.png",blocks:[{text:"Secure each servo to the upper body using M2.5x10mm screws, utilizing only the bottom mounting hole of each servo.",targetPoints:[{x:.53,y:.44}],initialPosition:{x:900,y:150}},{text:"Make sure the cable is pointing upwards. Insert the cable first when putting in the servos.",targetPoints:[{x:.63,y:.725},{x:.4,y:.725}],initialPosition:{x:900,y:320}}]},{title:"Secure the Brain to the Body",description:"Securing the Brain to the Body of the Puppy",image:"https://pllqebbk9iau5zzk.public.blob.vercel-storage.com/Beep%20Body/body-step22-v2.png",blocks:[{text:"Secure the brain to the body, being careful that the servo motors are not in the way.",targetPoints:[{x:.5,y:.62}],initialPosition:{x:900,y:150}},{text:"Tighten both sides of the electronic tray using M2.5 x 10mm screws, 2 on each side. Ensure that all four edges of the screen are aligned with the body.",targetPoints:[{x:.55,y:.687},{x:.385,y:.805}],initialPosition:{x:900,y:320}}]},{title:"Secure the Servo Plugs to the Control Board",description:"Securing the Servo Plugs to the Control Board of the Puppy",image:"https://pllqebbk9iau5zzk.public.blob.vercel-storage.com/Beep%20Body/body-step23-v2.png",blocks:[{text:"Connect the servo plugs to the control board, matching them to the labeled 'L' and 'R' servo connectors.",targetPoints:[{x:.51,y:.5}],initialPosition:{x:900,y:150}}]},{title:"Connect the 10-Pin Cable to the Power Board",description:"Connecting the 10-pin Cable to the Power Board of the Puppy",image:"https://pllqebbk9iau5zzk.public.blob.vercel-storage.com/Beep%20Body/body-step24.png",blocks:[{text:"Connect the 10-pin cable to power board. The 10-pin cable should be wired such that pin 1 on one connector goes to pin 1 on the other connector, etc.",targetPoints:[{x:.82,y:.53}],initialPosition:{x:900,y:150}}]},{title:"Power Distribution Board Placement",description:"Placing the Power Distribution Board",image:"https://pllqebbk9iau5zzk.public.blob.vercel-storage.com/Beep%20Body/body-step25-v2.png",blocks:[{text:"Place the power distribution board onto the body and use ONLY the 2 top screws to mount it.",targetPoints:[{x:.32,y:.375},{x:.7,y:.375}],initialPosition:{x:900,y:150}}]},{title:"Connect the 10-Pin Cable to the Control Board",description:"Connect the 10-Pin Cable to the Control Board",image:"https://pllqebbk9iau5zzk.public.blob.vercel-storage.com/Beep%20Body/body-step26-v2.png",blocks:[{text:"Put the 10-pin cable through the opening as shown. The
1n, connect the other end of the 10-pin cable to the control board, ensuring it is fully inserted.",targetPoints:[{x:.55,y:.5}],initialPosition:{x:900,y:150}}]},{title:"Locate and Connect the Motors - Part 1",description:"Connecting the Motor Cables, Part 1",image:"https://pllqebbk9iau5zzk.public.blob.vercel-storage.com/Beep%20Body/body-step27.png",blocks:[{text:"Connect the short 6 inch 6-pin cable to two motor 1s. Like the 10 pin cable before, the cable should be wired such that pin 1 goes to pin 1, pin 2 to 2, etc.",targetPoints:[{x:.33,y:.2}],initialPosition:{x:900,y:150}},{text:"Notice the mounting holes on the motor. You will line these up with the holes in the body.",targetPoints:[{x:.39,y:.62},{x:.75,y:.755},{x:.39,y:.91}],initialPosition:{x:900,y:320}}]},{title:"Locate and Connect the Motors - Part 2",description:"Mounting the Motors to the Body",image:"https://pllqebbk9iau5zzk.public.blob.vercel-storage.com/Beep%20Body/body-step28-v2.png",blocks:[{text:"Mount the motor to the body using M2.5 x 10mm screws. Orient the motor so that the cables points towards the control board. This arrangement will provide space for inserting the battery later.",targetPoints:[{x:.425,y:.28},{x:.585,y:.305}],initialPosition:{x:900,y:150}},{text:"Notice the motor orientation. It should be aligned as pictured.",targetPoints:[{x:.54,y:.7}],initialPosition:{x:900,y:320}}]},{title:"Locate and Connect the Motors - Part 3",description:"Mounting the Motors to the Body",image:"https://pllqebbk9iau5zzk.public.blob.vercel-storage.com/Beep%20Body/body-step29.png",blocks:[{text:"Attach the other hip motor using another 2 M2.5x10 screws",targetPoints:[{x:.72,y:.26}],initialPosition:{x:900,y:150}},{text:"Connect the motor cables to the correct ports: the left motor to the left port and the right motor to the right port. You can push the remaining cables into the holes to clear space for attaching the cover, as shown in the next photo.",targetPoints:[{x:.64,y:.705},{x:.45,y:.7}],initialPosition:{x:900,y:320}}]},{title:"Mount the Cover to the Bdy",description:"Mounting the Cover to the Body",image:"https://pllqebbk9iau5zzk.public.blob.vercel-storage.com/Beep%20Body/body-step30-v2.png",blocks:[{text:"We need a total of 6 M2.5 x 10mm screws to mount the cover to the body. However, for now, using 4 screws is sufficient since we will need to open it later to add another motor cable in the next lab.",targetPoints:[{x:.29,y:.29},{x:.34,y:.625},{x:.66,y:.615},{x:.66,y:.29}],initialPosition:{x:900,y:150}}]},{title:"Attach the Bottom of the Body to the Top",description:"Attaching the Bottom of the Body to the Top",image:"https://pllqebbk9iau5zzk.public.blob.vercel-storage.com/Beep%20Body/body-step31-v2.png",blocks:[{text:"Use four M2.5 x 10mm screws to attach the bottom body to the top. (Use 2 for each side of the pupper).",targetPoints:[{x:.42,y:.13},{x:.375,y:.215}],initialPosition:{x:900,y:150}},{text:"Attach the knob using 3 M3 x 8mm button head screws. This will attach the knob.",targetPoints:[{x:.43,y:.685},{x:.52,y:.695},{x:.46,y:.744}],initialPosition:{x:900,y:320}}]},{title:"Connect the Puppy's Battery",description:"Connecting the Battery to the Puppy ",image:"https://pllqebbk9iau5zzk.public.blob.vercel-storage.com/Beep%20Body/body-step32-v2.png",blocks:[{text:"Observe the battery connector tabs on the green PCB. These will insert into the slots on the battery.",targetPoints:[{x:.62,y:.16},{x:.54,y:.18}],initialPosition:{x:900,y:150}},{text:"Insert the battery into the power board until you hear a click indicating it is locked in place. The battery should not stick out beyond the bottom of the robot.",targetPoints:[{x:.55,y:.74}],initialPosition:{x:900,y:320}}]},{title:"Boot the Pupper Up!",description:"Booting up the Pupper",image:"https://pllqebbk9iau5zzk.public.blob.vercel-storage.com/Beep%20Body/body-step33.png",blocks:[{text:"Press the power button to turn the robot on. The button should stay down once clicked. The screen should now turn on as before, and the front two motors should rotate slowly. To turn the robot off, press the power button again and release it.",targetPoints:[{x:.58,y:.5}],initialPosition:{x:900,y:150}},{text:"If the screen does not turn on:\n1. Make sure the battery is pushed all the way in\n2. Check the battery level (remove battery and press button on front of battery to see battery fullness indicator lights)",initialPosition:{x:900,y:150}},{text:"If motors do not rotate:\n1. Check settings on motors (CAM IDs, etc)",initialPosition:{x:900,y:150}}]}]},{id:"section-3",title:"The Front Legs",thumbnail:"/brainThumb.png",color:"#FFA1F6",imageUrl:"/images/front-legs/step1.jpg",imageAlt:"Technical diagram for troubleshooting",materials:["Servo motors x2","Front leg assemblies","M2 screws","Servo horns","Screwdriver"],steps:[{title:"Start building the Front Legs",description:"Starting to build the Pupper's Front Legs",image:"https://pllqebbk9iau5zzk.public.blob.vercel-storage.com/Beep%20Front%20Legs/frontlegs-step34-v2.png",blocks:[{text:"Connect the 12 inch cable to motor ID 3 and the 8 inch cable to motor ID 2, ensuring the sleeve is oriented as shown in the picture. Make sure that the covered end is attached to the motor, and the open end is attached to the control board.",targetPoints:[{x:.59,y:.29},{x:.795,y:.34}]},{text:"Like all other cables, ensure the cables are wired such that pin 1 on one side goes to pin 1 on the other side, etc."}]},{title:"Collect the Left Side Parts",description:"Collecting the Left Side Parts of the Pupper",image:"https://pllqebbk9iau5zzk.public.blob.vercel-storage.com/Beep%20Front%20Legs/frontlegs-step35-v2.png",blocks:[{text:"Ensure the leg parts are on the correct sides. (L) indicates the left leg, and (R) indicates the right leg. Put them in 2 separate piles, and keep the (R) Right side parts for later.",initialPosition:{x:900,y:150}}]},{title:"Attach the Lower Leg Pieces",description:"Attaching the Lower Leg Pieces.",image:"https://pllqebbk9iau5zzk.public.blob.vercel-storage.com/Beep%20Front%20Legs/frontlegs-step36-v2.png",blocks:[{text:"Use three M3x8mm screws to attach the lower leg to Motor 3. Do not fully tighten the screws until all three are aligned with the holes. Tighten them afterward.",targetPoints:[{x:.68,y:.105},{x:.715,y:.19},{x:.8,y:.13}],initialPosition:{x:900,y:150}},{text:"Attach the upper leg to Motor 3. The slot on the upper leg should be positioned directly below the cable.",targetPoints:[{x:.48,y:.65}],initialPosition:{x:900,y:320}}]},{title:"Fasten the Motor",description:"Fastening the Motor of the Leg.",image:"https://pllqebbk9iau5zzk.public.blob.vercel-storage.com/Beep%20Front%20Legs/frontlegs-step37-v2.png",blocks:[{text:"Flip to the other side, and you'll notice that one screw on motor ID 3 is obstructing the screw from the upper leg. Remove that screw using a Phillips screwdriver.",targetPoints:[{x:.41,y:.23}],initialPosition:{x:900,y:150}}
1,{text:"After removing the screw from the motor body, you can now insert two M2.5x10mm screws to fasten one side of the upper leg.",targetPoints:[{x:.43,y:.747},{x:.375,y:.655}],initialPosition:{x:900,y:320}}]},{title:"Building the Legs, continued",description:"Building the Legs, Continued...",image:"https://pllqebbk9iau5zzk.public.blob.vercel-storage.com/Beep%20Front%20Legs/frontlegs-step38-v2.png",blocks:[{text:"Flip to the other side, and use the leg cable cover with four M2.5x10mm screws to connect the upper leg to motor ID 3. You can keep repeating those steps to build 3 more completed legs.",targetPoints:[{x:.36,y:.3},{x:.385,y:.325},{x:.43,y:.24},{x:.465,y:.255}],initialPosition:{x:900,y:150}},{text:"Secure the abduction bracket using three M3x8mm screws.",targetPoints:[{x:.46,y:.77},{x:.555,y:.815},{x:.45,y:.85}],initialPosition:{x:900,y:320}}]},{title:"Secure the Legs",description:"Securing the Legs to the Pupper",image:"https://pllqebbk9iau5zzk.public.blob.vercel-storage.com/Beep%20Front%20Legs/frontlegs-step39.png",blocks:[{text:"Notice the cable securing block. On the abduction bracket, the red circle indicates the block used to secure the cable.",targetPoints:[{x:.625,y:.235}],initialPosition:{x:900,y:150}},{text:"Align motor 2. The cable from motor ID 2 should be routed underneath that block.",targetPoints:[{x:.55,y:.84}],initialPosition:{x:900,y:320}}]},{title:"Secure the Legs, continued",description:"Securing the Legs to the Pupper, continued",image:"https://pllqebbk9iau5zzk.public.blob.vercel-storage.com/Beep%20Front%20Legs/frontlegs-step40-v2.png",blocks:[{text:"Rotate and inspect the other side of motor ID 2 with the abduction bracket. You'll notice one screw on the motor body obstructing the holes for the abduction bracket. Remove it using a Phillips screwdriver.",targetPoints:[{x:.5,y:.3}],initialPosition:{x:900,y:150}},{text:"After removing the screw from the motor body, attach the abduction bracket to the motor using two M2.5x8mm screws. DO NOT TIGHTEN the screws until you have secured the two screws from the other side.",targetPoints:[{x:.475,y:.76},{x:.595,y:.765}],initialPosition:{x:900,y:320}}]},{title:"Attach the Upper Leg to the Motor",description:"Attaching the Upper Leg of the Pupper",image:"https://pllqebbk9iau5zzk.public.blob.vercel-storage.com/Beep%20Front%20Legs/frontlegs-step41-v2.png",blocks:[{text:"Use two M2.5x10mm screws. You may need to slightly rotate the motor to align the holes. Once aligned, insert all screws and secure all four screws on both sides of the abduction bracket.",targetPoints:[{x:.455,y:.295},{x:.67,y:.38}],initialPosition:{x:900,y:150}},{text:"Use three M3x8mm screws to attach the upper leg to Motor 2. Fasten one screw at a time so you can use the empty holes to visually align the pieces.",targetPoints:[{x:.485,y:.61},{x:.46,y:.67},{x:.545,y:.66}],initialPosition:{x:900,y:320}}]},{title:"Guide the Cables through the Pupper",description:"Guiding and connecting the Cables through the Pupper",image:"https://pllqebbk9iau5zzk.public.blob.vercel-storage.com/Beep%20Front%20Legs/frontlegs-step42-v2.png",blocks:[{text:"Guide the cable from motor ID 3 through the side hole on the upper body and plug into the tan connector as shown.",targetPoints:[{x:.595,y:.25},{x:.46,y:.2}],initialPosition:{x:900,y:150}},{text:"Guide the cable from Motor 2 through the side hole on the upper body and plug the cable into the tan connector as shown.",targetPoints:[{x:.66,y:.69},{x:.53,y:.66}],initialPosition:{x:900,y:320}}]},{title:"Organize the Cables ",description:"Guiding and connecting the Cables through the Pupper",image:"https://pllqebbk9iau5zzk.public.blob.vercel-storage.com/Beep%20Front%20Legs/frontlegs-step43-v2.png",blocks:[{text:"Check the two cables to ensure they are not twisted, and you can lay the cable from motor ID 2 on top of the cable from motor ID 3.",targetPoints:[{x:.57,y:.38}],initialPosition:{x:900,y:150}}]},{title:"Fasten the Clamps",description:"Guiding and connecting the Cables through the Pupper",image:"https://pllqebbk9iau5zzk.public.blob.vercel-storage.com/Beep%20Front%20Legs/frontlegs-step44-v2.png",hint:"The hip should rotate all the way forward and back without pulling the wires!",blocks:[{text:"Fasten the front cable clamp using two M2.5x10mm screws to secure the two cables in place. Do not tighten these screws yet, as we need to adjust the cable lengths before securing them.",targetPoints:[{x:.64,y:.41},{x:.615,y:.5}],initialPosition:{x:900,y:150}},{text:"Rotate the abduction bracket clockwise until it reaches the stop, ensuring the cable can move freely. Then, rotate it counterclockwise. You should now see the excess length needed for both joints. Finally, tighten the two screws on the cable clamp securely.",targetPoints:[{x:.42,y:.64}],initialPosition:{x:900,y:320}}]},{title:"Tidy up the Cables ",description:"Tidying up the Cables to Protect them from Damage",image:"https://pllqebbk9iau5zzk.public.blob.vercel-storage.com/Beep%20Front%20Legs/frontlegs-step45.png",blocks:[{text:"Bend the cables inside. Avoid these areas to ensure it won't be pinched when you add the cover.",targetPoints:[{x:.36,y:.42},{x:.77,y:.42}],initialPosition:{x:900,y:150}},{text:"You have now completed the left arm. Repeat this section for the right arm!",initialPosition:{x:900,y:150}}]}]},{id:"section-4",title:"The Hind Legs",thumbnail:"/bodyThumb.png",color:"BeepYellow",imageUrl:"/images/hind-legs/step1.jpg",imageAlt:"Technical diagram for final assembly",materials:["Servo motors x2","Hind leg assemblies","M2 screws","Servo horns","Power cable"],steps:[{title:"Connecting the Hind Leg Motors",description:"Tidying up the Cables to Protect them from Damage",image:"https://pllqebbk9iau5zzk.public.blob.vercel-storage.com/Beep%20Hind%20Legs/hindlegs-step46-v2.png",blocks:[{text:"Connect the short (6-inch) cable to Motor 1, with a 6 inch cable.",targetPoints:[{x:.34,y:.21}],initialPosition:{x:900,y:150}},{text:"Attach motor 1 to the body using two M2.5x10mm screws.",targetPoints:[{x:.46,y:.74},{x:.685,y:.9}],initialPosition:{x:900,y:320}}]},{title:"Connect the Motors to the Power Board",description:"Connecting the Motors to the Power Board",image:"https://pllqebbk9iau5zzk.public.blob.vercel-storage.com/Beep%20Hind%20Legs/hindlegs-step47-v2.png",blocks:[{text:"Connect the motor 1 cable to the power board, as noted by the red circle.",targetPoints:[{x:.405,y:.3}],initialPosition:{x:900,y:150}},{text:"Secure the abduction bracket using 3 M3x8mm screws. Ensuring correct abduction bracket: left leg to left side, right leg to right side.",targetPoints:[{x:.5,y:.74},{x:.62,y:.805},{x:.485,y:.84}],initialPosition:{x:900,y:320}}]},{title:"Connect the 2nd Motor and Leg",description:"Connecting the 2nd Motor and Leg",image:"https://pllqebbk9iau5zzk.public.blob.vercel-storage.com/Beep%20Hind%20Legs/hindlegs-step48-v2.png",blocks:[{text:"Install motor 2 following the same cable routing and screw removal steps as with the front leg.",targetPoints:[{x:.715,y:.39},{x:.76,y:.27}],initialPosition:{x:900,y:150}},{text:"Attach the fully assembled leg from the previous step to motor 2, ensuring correct leg orientation: left leg to left side, right leg to right side.",targetPoints:[{x:.6,y:.8}],initialPosition:{x:900,y:320}}]},{title:"Route and Connect the Cables",description:"Connecting the 2nd Motor and Leg",hint:"It doesn't matter which order you attach the motor 2 and 3 cables in, as long as they go in the two connectors shown!",image:"https://pllqebbk9iau5zzk.public.blob.vercel-storage.com/Beep%20Hind%20Legs/hindlegs-step49.png",blocks:[{text:"Route the cable as shown in the picture.",targetPoints:[{x:.535,y:.215}],initialPosition:{x:900,y:150}},{text:"Connect the cables from motor 2 and motor 3 to the power board.",targetPoints:[{x:.55,y:.63},{x:.56,y:.68}],initialPosition:{x:900,y:320}}]},{title:"Secure and Arrange the Cables",description:"Securing and Arranging the Cables",image:"https://pllqebbk9iau5zzk.public.blob.vercel-storage.com/Beep%20Hind%20Legs/hindlegs-step50.png",blocks:[{text:"Use the back cable clamp along with two M2.5x10mm screws to secure the two cables in place. Do not tighten these screws yet, as we need to adjust the cable lengths before securing them.",targetPoints:[{x:.42,y:.405},{x:.52,y:.445}],initialPosition:{x:900,y:150}},{text:"Rotate the abduction bracket clockwise until it reaches the stop, ensuring the cable can move freely. Then, rotate it counterclockwise. You should now see the excess length needed for both joints. Finally, tighten the two screws on the cable clamp securely.",targetPoints:[{x:.56,y:.72}],initialPosition:{x:900,y:320}}]},{title:"Secure Straps and Power Board",description:"Securing Straps and Power Board",image:"https://pllqebbk9iau5zzk.public.blob.vercel-storage.com/Beep%20Hind%20Legs/hindlegs-step51-v2.png",blocks:[{text:"Attach the strap to the power board cover using four M2.5x10mm screws.",targetPoints:[{x:.39,y:.26},{x:.4,y:.28},{x:.645,y:.165},{x:.66,y:.18}],initialPosition:{x:900,y:150}},{text:"Secure the power board cover with six M2.5x10mm screws. Do not forget these!",targetPoints:[{x:.39,y:.59},{x:.585,y:.585},{x:.415,y:.74},{x:.415,y:.755},{x:.58,y:.74},{x:.58,y:.755}],initialPosition:{x:900,y:320}}]},{title:"Attach Bottom and Joint Cover",description:"Attaching the Bottom and Joint Cover",image:"https://pllqebbk9iau5zzk.public.blob.vercel-storage.com/Beep%20Hind%20Legs/hindlegs-step52.png",blocks:[{text:"Attach the bottom body using four M2.5x10mm screws on each side.",targetPoints:[{x:.
1165,y:.22},{x:.32,y:.245},{x:.185,y:.165},{x:.885,y:.255}],initialPosition:{x:900,y:150}},{text:"Slide the joint cover bracket into position.",targetPoints:[{x:.23,y:.68}],initialPosition:{x:900,y:320}}]},{title:"Attach the Pupper's Ears",description:"The Final Step!",hint:"Your 3D printed ears may look different!",image:"https://pllqebbk9iau5zzk.public.blob.vercel-storage.com/Beep%20Hind%20Legs/hindlegs-step53.png",blocks:[{text:"Attach ears to the ear servos with the small screws. Do not forget both sides!",targetPoints:[{x:.55,y:.285}],initialPosition:{x:900,y:150}},{text:"You have done it! Your Pupper is ready to go!",initialPosition:{x:900,y:320}}]}]}].map(e=>({...e,steps:e.steps.map(e=>({...e,blocks:e.blocks.filter(e=>!e.hidden)}))}));e.s(["default",0,function(){let[e,t]=(0,i.useState)(!0),[o,n]=(0,i.useState)(0),[s,a]=(0,i.useState)(void 0),[l,c]=(0,i.useState)(0),{colors:d}=(0,eY.useTheme)(),{setCollapsed:h}=(0,e_.useSidebar)();(e=>{let t=0;for(let o=0;o<eQ.length;o++)if(e<(t+=eQ[o].steps.length))return o;return eQ.length})(l),(0,i.useEffect)(()=>{let e=()=>t(!0);return window.addEventListener("sidebar-navigate",e),()=>window.removeEventListener("sidebar-navigate",e)},[]);let p=d.mainBg;return e?(0,r.jsx)("div",{className:"min-h-screen bg-background text-background",style:{backgroundColor:"#FFFFFF"},children:(0,r.jsx)(eV,{sections:eQ,onStartInstructions:()=>{n(0),a(void 0),t(!1),h(!0)},onSelectSection:(e,o)=>{n(e),a(o),t(!1),h(!0)}})}):(0,r.jsxs)("div",{className:"min-h-screen px-2 pb-4 sm:px-8 sm:pb-8 pt-14 md:pt-0",style:{backgroundColor:p},children:[(0,r.jsx)("div",{className:"max-w-6xl mx-auto sm:px-1 px-1",children:(0,r.jsx)(eU,{sections:eQ,initialSection:o,initialStep:s,onStepChange:c})}),(0,r.jsx)("div",{className:"mt-20 px-2 pb-2",children:(0,r.jsx)(eW.Footer,{})})]})}],31713)}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.