PageSourceSearch

https://www.prepvault.io/assets/ui-B_Kmx4eB.js

js prepvault.io collected 2026-10-02 01:58:15 UTC 151,702 bytes, 1 lines download raw bytes

1import{o as e}from"./rolldown-runtime-BM3Ffeng.js";import{a as t,i as n,n as r,r as i}from"./vendor-motion-Cehz8yAs.js";import{r as a}from"./vendor-react-l6x07UWE.js";import{f as o,o as s}from"./ui-Bn9TRsED.js";import{a as c,i as l,n as u,o as d,t as f}from"./analytics-Bo8SELCB.js";import{c as p,n as m,s as h}from"./vendor-router-42lY--s5.js";import{n as g}from"./AuthContext-Bm5YWjXD.js";import{a as _,t as v}from"./useProfile-u9zSZPw8.js";import{t as y}from"./supabase-CRSna4TP.js";import{i as b,t as x}from"./events-mu75dnsC.js";import{Rt as S,hi as C,li as w,pi as T,ui as E,zt as D}from"./constants-CKK7LM6z.js";import{_ as O,g as k}from"./jobs-P3dcjyBL.js";import{i as ee,r as A,t as te}from"./useScrollLock-BC-y2Moo.js";import{t as ne}from"./useIsSmallScreen-CTEHGyrw.js";import"./motion-DbxQA_uX.js";var j=e(t(),1),M=n(),re={sm:`w-4 h-4`,md:`w-6 h-6`,lg:`w-8 h-8`},N=({size:e=`md`,className:t=``})=>(0,M.jsxs)(`svg`,{className:[`animate-spin`,re[e],t].filter(Boolean).join(` `),xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,"aria-hidden":`true`,children:[(0,M.jsx)(`circle`,{className:`opacity-25`,cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,strokeWidth:`4`}),(0,M.jsx)(`path`,{className:`opacity-75`,fill:`currentColor`,d:`M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z`})]}),P={primary:`btn-primary`,secondary:`btn-secondary`,ghost:`btn-ghost`,danger:`btn-danger`,link:`inline-flex items-center gap-1.5 font-medium text-primary hover:text-amber-600 underline-offset-4 hover:underline transition-colors duration-150 disabled:opacity-50 disabled:cursor-not-allowed`},F={sm:`px-3 py-1.5 text-sm rounded-md gap-1.5 min-h-[36px]`,md:`px-4 py-2.5 text-sm rounded-lg gap-2 min-h-[44px]`,lg:`px-5 py-3 text-base rounded-lg gap-2.5 min-h-[48px]`};function I(e,t,n,r){let i=e===`link`;return[P[e],i?``:F[t],n&&!i?`w-full`:``,r].filter(Boolean).join(` `)}var L=({variant:e=`primary`,size:t=`md`,loading:n=!1,disabled:r=!1,fullWidth:i=!1,leftIcon:a,rightIcon:o,onClick:s,type:c=`button`,className:l=``,children:u,"aria-label":d,"aria-busy":f,title:p})=>(0,M.jsx)(`button`,{type:c,onClick:s,disabled:r||n,"aria-label":d,"aria-busy":n||f||void 0,title:p,className:I(e,t,i,l),children:n?(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(N,{size:`sm`}),u]}):(0,M.jsxs)(M.Fragment,{children:[a,u,o]})}),ie=({variant:e=`primary`,size:t=`md`,loading:n=!1,disabled:r=!1,fullWidth:i=!1,leftIcon:a,rightIcon:o,href:s,external:c=!1,className:l=``,children:u,onClick:d,"aria-label":f})=>{let p=c?{target:`_blank`,rel:`noopener noreferrer`}:{};return(0,M.jsx)(`a`,{href:r||n?void 0:s,"aria-label":f,"aria-disabled":r||n||void 0,onClick:r||n?void 0:d,className:I(e,t,i,l),...p,children:n?(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(N,{size:`sm`}),u]}):(0,M.jsxs)(M.Fragment,{children:[a,u,o]})})},R={rejected:k.CLOSED},ae=Object.values(k),oe=e=>{let t=new URLSearchParams(e).get(`tab`);return t?R[t]?R[t]:ae.includes(t)?t:null:null},z=e=>{if(oe(e)!==null)return O.BOARD;let t=new URLSearchParams(e).get(`view`);return t===O.BOARD||t===O.BROWSE?t:null},se=(e,t)=>
1e===O.BROWSE?`Job boards`:`My ${t.toLowerCase()}`,ce=(e,t={})=>{let n=t.linkPrefix??``;return e===O.BROWSE?`${n}/jobs`:t.tab?`${n}/jobs?tab=${t.tab}`:`${n}/jobs?view=${O.BOARD}`},le=e=>{let t=e.replace(/^\/demo(?=\/|$)/,``);return(t.length>1?t.replace(/\/+$/,``):t)||`/`},ue=e=>S.includes(le(e)),de=()=>{try{let e=window.sessionStorage.getItem(D);if(!e)return null;let t=JSON.parse(e);return typeof t?.from!=`string`||typeof t?.to!=`string`?null:{from:t.from,fromSearch:typeof t.fromSearch==`string`?t.fromSearch:``,to:t.to}}catch{return null}},fe=e=>{try{e?window.sessionStorage.setItem(D,JSON.stringify(e)):window.sessionStorage.removeItem(D)}catch{}},pe=null,me=``,he=(e,t=``,n=!1)=>{let r=pe,i=me;pe=e,me=t,!(r===e||n)&&r!==null&&ue(r)&&!ue(e)&&fe({from:r,fromSearch:i,to:e})},ge=e=>{let t=de();return!t||t.to!==e||le(t.from)!==`/jobs`?null:z(t.fromSearch)??O.BROWSE};`${{link:`text-theme-accent hover:underline focus-visible:underline`,current:`text-theme-text`,separator:`text-theme-text-muted opacity-40`}.link}`;var _e=()=>{let{profile:e}=v();return e?.subscription_is_active===!0&&(e?.subscription_tier===T.PRO||e?.subscription_tier===T.PRO_PLUS)},ve=()=>{let{profile:e}=v();return e?.subscription_is_active===!0&&(e?.subscription_tier===T.CORE||e?.subscription_tier===T.PRO||e?.subscription_tier===T.PRO_PLUS)},ye={default:`bg-surface text-secondary`,amber:`bg-amber-100 text-amber-700`,success:`bg-success-soft text-success`,warning:`bg-warning-soft text-warning`,danger:`bg-danger-soft text-danger`,info:`bg-info-soft text-info`,purple:`bg-plum-soft text-plum`,pro:``,free:``,core:``,pro_plus:``},be={sm:`text-xs px-2 py-0.5 rounded-full`,md:`text-sm px-2.5 py-1 rounded-full`},B=({variant:e=`default`,size:t=`md`,children:n,className:r=``})=>e===`pro`?(0,M.jsx)(`span`,{className:[`inline-flex items-center font-semibold tracking-wide whitespace-nowrap`,r].filter(Boolean).join(` `),style:{fontSize:t===`sm`?`0.6875rem`:`0.75rem`,padding:t===`sm`?`2px 8px`:`3px 10px`,borderRadius:999,backgroundColor:`var(--color-bronze-light)`,color:`var(--color-bronze)`,border:`1px solid var(--color-bronze)`,letterSpacing:`0.05em`},children:n}):e===`pro_plus`?(0,M.jsx)(`span`,{className:[`inline-flex items-center font-semibold tracking-wide whitespace-nowrap`,r].filter(Boolean).join(` `),style:{fontSize:t===`sm`?`0.6875rem`:`0.75rem`,padding:t===`sm`?`2px 8px`:`3px 10px`,borderRadius:999,backgroundColor:`var(--color-bronze)`,color:`var(--color-bg)`,letterSpacing:`0.05em`},children:n}):e===`core`?(0,M.jsx)(`span`,{className:[`inline-flex items-center font-semibold tracking-wide whitespace-nowrap`,r].filter(Boolean).join(` `),style:{fontSize:t===`sm`?`0.6875rem`:`0.75rem`,padding:t===`sm`?`2px 8px`:`3px 10px`,borderRadius:999,background:`transparent`,color:`var(--color-accent)`,border:`1px solid var(--color-accent)`,letterSpacing:`0.04em`},children:n}):e===`free`?(0,M.jsx)(`span`,{className:[`inline-flex items-center font-semibold`,be[t],r].filter(Boolean).join(` `),style:{border:`1px solid var(--color-border)`,color:`var(--color-text-muted)`,background:`transparent`},children:n}):(0,M.jsx)(`span`,{className:[`inline-flex items-center font-medium`,ye[e],be[t],r].filter(Boolean).join(` `),children:n}),xe={free:`free`,core:`core`,pro:`pro`,pro_plus:`pro_plus`},Se=C,Ce=({size:e=12})=>(0,M.jsxs)(`svg`,{width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:1.75,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,M.jsx)(`path`,{d:`M12 3 4 7.5 12 12l8-4.5L12 3Z`}),(0,M.jsx)(`path`,{d:`M4 12 12 16.5 20 12`}),(0,M.jsx)(`path`,{d:`M4 16.5 12 21l8-4.5`})]}),we=({size:e=12})=>(0,M.jsx)(`svg`,{width:e,height:e,viewBox:`0 0 24 24`,fill:`currentColor`,stroke:`none`,"aria-hidden":`true`,children:(0,M.jsx)(`path`,{d:`M13 2L3 14h9l-1 8 10-12h-9l1-8z`})}),Te=({size:e=12})=>{let t=(0,j.useId)();return(0,M.jsxs)(`svg`,{width:e,height:e,viewBox:`0 0 24 24`,fill:`url(#${t})`,"aria-hidden":`true`,children:[(0,M.jsx)(`defs`,{children:(0,M.jsxs)(`linearGradient`,{id:t,x1:`3`,y1:`2`,x2:`21`,y2:`22`,gradientUnits:`userSpaceOnUse`,children:[(0,M.jsx)(`stop`,{offset:`0%`,stopColor:`var(--color-gilded)`}),(0,M.jsx)(`stop`,{offset:`100%`,stopColor:`var(--color-gilded-2)`})]})}
1),(0,M.jsx)(`path`,{d:`M13 2L3 14h9l-1 8 10-12h-9l1-8z`})]})},Ee=({tier:e,size:t=`sm`,interactive:n=!1,onClick:r,className:i=``})=>{let a=xe[e]??`default`,o=Se[e]??e,s=e===`pro`,c=e===`pro_plus`;if(e===`core`){let e=(0,M.jsxs)(B,{variant:`core`,size:t,className:[`gap-1`,i].filter(Boolean).join(` `),children:[(0,M.jsx)(Ce,{size:t===`sm`?11:13}),o]});return n||r?(0,M.jsx)(`button`,{type:`button`,onClick:r,"aria-label":`View ${o} features`,className:`inline-flex rounded-full transition-opacity duration-150 hover:opacity-80 active:scale-[0.97] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-amber-600`,children:e}):e}if(!s&&!c)return(0,M.jsx)(B,{variant:a,size:t,className:i,children:o});let l=t===`sm`?11:13,u=t===`sm`?`0.6875rem`:`0.75rem`,d=t===`sm`?`3px 10px`:`4px 12px`,f=c?{backgroundImage:`var(--color-gilded-gradient)`,color:`#3a2208`,border:`1px solid transparent`,boxShadow:`0 0 14px var(--color-gilded-glow)`,fontSize:u,padding:d,borderRadius:999,letterSpacing:`0.04em`}:{border:`1px solid transparent`,background:`linear-gradient(var(--color-accent-light), var(--color-accent-light)) padding-box, var(--color-gilded-gradient) border-box`,boxShadow:`0 0 12px var(--color-gilded-glow)`,fontSize:u,padding:d,borderRadius:999,letterSpacing:`0.04em`},p=c?(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(we,{size:l}),o]}):(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(Te,{size:l}),(0,M.jsx)(`span`,{style:{backgroundImage:`var(--color-gilded-gradient)`,WebkitBackgroundClip:`text`,backgroundClip:`text`,color:`transparent`},children:o})]});return n||r?(0,M.jsx)(`button`,{type:`button`,onClick:r,className:[`inline-flex items-center gap-1 font-semibold whitespace-nowrap transition-opacity duration-150 hover:opacity-80 active:scale-[0.97] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-amber-600`,i].filter(Boolean).join(` `),style:{...f,cursor:`pointer`},"aria-label":`View ${o} features`,children:p}):(0,M.jsx)(`span`,{className:[`inline-flex items-center gap-1 font-semibold whitespace-nowrap`,i].filter(Boolean).join(` `),style:f,children:p})},V=3600*1e3,De=24*V,Oe=(e,t=Date.now())=>{if(!e)return null;let n=new Date(e).getTime();if(Number.isNaN(n))return null;let r=n-t;if(r<=0)return{label:`Expired`,urgent:!0,expired:!0};if(r>=De){let e=Math.ceil(r/De);return{label:`${e} day${e===1?``:`s`} left`,urgent:!1,expired:!1}}if(r>=V){let e=Math.ceil(r/V);return{label:`${e} hour${e===1?``:`s`} left`,urgent:!0,expired:!1}}return{label:`Under an hour left`,urgent:!0,expired:!1}},ke=({expiresAt:e,className:t=``})=>{let[n,r]=(0,j.useState)(()=>Date.now());(0,j.useEffect)(()=>{let e=setInterval(()=>r(Date.now()),60*1e3);return()=>clearInterval(e)},[]);let i=Oe(e,n);if(!i)return null;let a=i.urgent?`var(--color-warning-light)`:`var(--color-bronze-light)`,o=i.urgent?`var(--color-warning)`:`var(--color-bronze)`;return(0,M.jsx)(`span`,{className:[`text-xs font-medium px-2 py-0.5 rounded-full whitespace-nowrap`,t].filter(Boolean).join(` `),style:{backgroundColor:a,color:o},title:i.expired?`This comp has ended`:`Time left on your comped plan`,children:i.label})},Ae={angular:{title:`Angular`,color:`#DD0031`,path:`M16.712 17.711H7.288l-1.204 2.916L12 24l5.916-3.373-1.204-2.916ZM14.692 0l7.832 16.855.814-12.856L14.692 0ZM9.308 0 .662 3.999l.814 12.856L9.308 0Zm-.405 13.93h6.198L12 6.396 8.903 13.93Z`},babel:{title:`Babel`,color:`#F9DC3E`,path:`M15.76 0c-1.603.147-3.719.713-6.317 1.719a22.366 22.366 0 01-2.44 1.539l.01.158c.064 0 .136-.043.24-.096.106-.01.169.032.169.137l.168-.094.084-.011.01.074c.01.073-.566.523-1.707 1.33l.093.146-.084.012-.177-.064c0 .052-.073.085-.24.095l.01.084.189.21a.673.673 0 01-.252-.053c-.367.031-.734.303-1.09.806l.094.147c.314-.283.492-.43.544-.43l.022.23c-.052 0-.136.042-.24.094l.199.295A5.86 5.86 0 016.29 5.291c.23.063.346.125.346.209l.168-.01c1.225-.911 2.44-1.562 3.644-1.97l.012.158c-.22.335-.377.501-.461.511.01.116.052.21.115.305.021.21-.524 1.583-1.635 4.139-2.535 5.93-4.651 10.307-6.359 13.156 0 .052.041.136.094.23.419-.104.691-.197.806-.302l.096-.012.01.158.158-.011.166-.094c0 .052.063.073.168.062l.012.159c.01.157-.075.397-.274.722-.178.2-.355.607-.554 1.225l.01.074.158-.01c.68-.764 1.204-1.52 1.56-2.254 2.001-.586 3.52-1.162 4.578-1.728 1.058-.094 1.876-.365 2.42-.826l-.011-.084-.399.115-.094.01-.01-.084c.776-.116 1.32-.293 1.614-.524 1.519-1.173 2.66-2 3.435-2.492 2.4-1.76 3.531-3.457 3.395-5.07-.01-.168-.545-.828-1.582-1.98-.02
11-.22.345-.535 1.078-.954l2.086-1.834c.46-.597.744-1.56.838-2.89l-.031-.315c-.084-.932-.756-1.687-2.034-2.264C19.06.303 17.708.031 15.76 0zm2.525 1.037c1.55.063 2.347.335 2.389.817l-.063.158-2.326-.975zm-1.482 1.317c1.063-.016 1.617.267 1.672.863l.156-.012-.031-.398.168-.01c.408.22.627.492.648.816.021.22-.094.494-.355.819-.105.01-.168-.064-.178-.221l-.168.012-.041.47c-.702 1.048-1.205 1.582-1.52 1.614-.283.387-.462.587-.535.597-.22.262-.816.712-1.8 1.34-.325.032-1.531.493-3.616 1.404a.595.595 0 00-.334-.052l-.012-.147c-.02-.304.107-.681.41-1.142.158-.86.335-1.352.534-1.467l1.738-3.906c-.02-.241.347-.43 1.111-.555l.252-.022.02.221a50.387 50.387 0 011.394-.2c.173-.014.335-.022.487-.024zm3.619.39h.027c.139.012.288.263.446.744l.01.147c-.085.01-.24-.242-.471-.744l-.012-.147zm-9.836 2.483h.072l.022.23c-.074.01-.177.116-.303.336l-.012-.156c.147-.178.22-.316.22-.41zM5.6 5.354l.01.072c-.053 0-.136.043-.24.095l-.085.01-.01-.146.325-.031zM9.885 6.86l.031.315-.084.01-.031-.313.084-.012zm-.2.567c-.02.262-.084.397-.22.408l-.084.01c.094-.178.147-.303.137-.397l.168-.021zm-.345.816l.01.074-.147.25-.158.012-.01-.074c.157-.01.231-.093.22-.25l.085-.012zm-.358.735l-.04.386-.085.01-.03-.387.155-.01zm8.497.28l.345.212c.01.104-.042.167-.146.177-.147-.094-.262-.136-.346-.136l-.021-.23.168-.022zm-6.653.891l.012.147-.326.033-.01-.148.324-.032zm5.363.545c.23.105.347.21.358.293l.01.075c-.22.02-.42-.095-.608-.346l.24-.022zm2.6.252c.178.074.261.148.272.221l.052.617c-.073.168-.146.252-.23.252l-.094-1.09zm-4.195.065c.84-.014 1.482.184 1.922.605l.03.315c-.376 1.09-.795 1.719-1.245 1.918l-2.096 1.666c-1.56 1.026-2.4 1.538-2.525 1.548-2.483 1.373-4.032 2.075-4.63 2.127l-.095.01c.084-.293 1.185-2.555 3.322-6.808.943-.084 2.43-.525 4.452-1.32l.492-.042c.128-.01.253-.017.373-.02zm-3.055.49l.01.074-.334.031-.012-.074.336-.031zm-5.226 5.07c-.105.535-.221.808-.336.819l-.01-.075c-.021-.272.094-.513.346-.744zm7.101.336l.01.147c.01.063-.23.261-.701.607-1.394.681-2.21 1.152-2.452 1.393-1.508.523-2.252.849-2.242.974-1.34.535-2.22.923-2.638 1.164-.095.01-.241-.031-.43-.115-.021-.272.093-.494.365-.672.23-.02.463.011.672.106.251-.126.68-.274 1.299-.42l-.012-.156-.492.04c.063-.083.535-.303 1.436-.67l.251-.02.01.073c-.419.032-.66.167-.713.387.01.094.064.147.168.137.304-.21.461-.324.461-.356.608-.115 2.274-.995 5.008-2.619zm-7.584.723l.01.072c.01.105-.042.17-.147.18l-.01-.074c-.01-.095.042-.157.147-.178zm3.77.937c.089-.002.139.049.148.131-.199.021-.566.178-1.121.492l-.084.01-.01-.156a1.586 1.586 0 001.026-.47c.014-.003.028-.006.04-.007zm-3.664 1.243l.01.082c-.064 0-.138.043-.243.095l-.156.01c-.01-.073.032-.136.137-.168l.252-.02zm-1.918.953l.177.072c-.063.471-.198.713-.44.734a1.076 1.076 0 00-.513-.105l-.021-.23c-.01-.095.043-.147.158-.178.105-.01.167.061.178.218.282-.345.44-.511.46-.511Z`},css:{title:`CSS`,color:`#663399`,path:`M0 0v20.16A3.84 3.84 0 0 0 3.84 24h16.32A3.84 3.84 0 0 0 24 20.16V3.84A3.84 3.84 0 0 0 20.16 0Zm14.256 13.08c1.56 0 2.28 1.08 2.304 2.64h-1.608c.024-.288-.048-.6-.144-.84-.096-.192-.288-.264-.552-.264-.456 0-.696.264-.696.84-.024.576.288.888.768 1.08.72.288 1.608.744 1.92 1.296q.432.648.432 1.656c0 1.608-.912 2.592-2.496 2.592-1.656 0-2.4-1.032-2.424-2.688h1.68c0 .792.264 1.176.792 1.176.264 0 .456-.072.552-.24.192-.312.24-1.176-.048-1.512-.312-.408-.912-.6-1.32-.816q-.828-.396-1.224-.936c-.24-.36-.36-.888-.36-1.536 0-1.44.936-2.472 2.424-2.448m5.4 0c1.584 0 2.304 1.08 2.328 2.64h-1.608c0-.288-.048-.6-.168-.84-.096-.192-.264-.264-.528-.264-.48 0-.72.264-.72.84s.288.888.792 1.08c.696.288 1.608.744 1.92 1.296.264.432.408.984.408 1.656.024 1.608-.888 2.592-2.472 2.592-1.68 0-2.424-1.056-2.448-2.688h1.68c0 .744.264 1.176.792 1.176.264 0 .456-.072.552-.24.216-.312.264-1.176-.048-1.512-.288-.408-.888-.6-1.32-.816-.552-.264-.96-.576-1.2-.936s-.36-.888-.36-1.536c-.024-1.44.912-2.472 2.4-2.448m-11.031.018c.711-.006 1.419.198 1.839.63.432.432.672 1.128.648 1.992H9.336c.024-.456-.096-.792-.432-.96-.312-.144-.768-.048-.888.24-.12.264-.192.576-.168.864v3.504c0 .744.264 1.128.768 1.128a.65.65 0 0 0 .552-.264c.168-.24.192-.552.168-.84h1.776c.096 1.632-.984 2.712-2.568 2.688-1.536 0-2.496-.864-2.472-2.472v-4.032c0-.816.24-1.44.696-1.848.432-.408 1.146-.624 1.857-.63`},docker:{title:`Docker`,color:`#2496ED`,path:`M13.983 11.078h2.119a.186.186 0 00.186-.185V9.006a.186.186 0 00-.186-.186h-2.119a.185.185 0 00-.185.185v1.888c0 .102.083.185.185.185m-2.954-5.43h2.118a.186.186 0 00.186-.186V3.574a.186.186 0 00-.186-.185h-2.118a.185.185 0 00-.185.185v1.888c0 .102.082.185.185.185m0 2.716h2.118a.187.187 0 00.186-.186V6.29a.186.186 0 00-.186-.185h-2.118a.185.185 0 00-.185.185v1.887c0 .102.082.185.185.186m-2.93 0h2.12a.186.186 0 00.184-.186V6.29a.185.185 0 00-.185-.185H8.1a.185.185 0 00-.185.185v1.887c0 .102.083.185.185.186m-2.964 0h2.119a.186.186 0 00.185-.186V6.29a.185.185 0 00-.185-.185H5.136a.186.186 0 00-.186.185v1.887c0 .102.084.185.186.186m5.893 2.715h2.118a.186.186 0 00.186-.185V9.006a.186.186 0 00-.186-.186h-2.118a.185.185 0 00-.185.185v1.888c0 .102.082.185.185.185m-2.93 0h2.12a.185.185 0 00.184-.185V9.006a.185.185 0 00-.184-.186h-2.12a.185.185 0 00-.184.185v1.888c0 .102.083.185.185.185m-2.964 0h2.119a.185.185 0 00.185-.185V9.006a.185.185 0 00-.184-.186h-2.12a.186.186 0 00-.186.186v1.887c0 .102.084.185.186.185m-2.92 0h2.12a.185.185 0 00.184-.185V9.006a.185.185 0 00-.184-.186h-2.12a.185.185 0 00-.184.185v1.888c0 .102.082.185.185.185M23.763 9.89c-.065-.051-.672-.51-1.954-.51-.338.001-.676.03-1.01.087-.248-1.7-1.653-2.53-1.716-2.566l-.344-.199-.226.327c-.284.438-.49.922-.612 1.43-.23.97-.09 1.882.403 2.661-.595.332-1.55.413-1.744.42H.751a.751.751 0 00-.75.748 11.376 11.376 0 00.692 4.062c.545 1.428 1.355 2.48 2.41 3.124 1.18.723 3.1 1.137 5.275 1.137.983.003 1.963-.086 2.93-.266a12.248 12.248 0 003.823-1.389c.98-.567 1.86-1.288 2.61-2.136 1.252-1.418 1.998-2.997 2.553-4.4h.221c1.372 0 2.215-.549 2.68-1.009.309-.293.55-.65.707-1.046l.098-.288Z`},dotnet:{title:`.NET`,color:`#512BD4`,path:`M24 8.77h-2.468v7.565h-1.425V8.77h-2.462V7.53H24zm-6.852 7.565h-4.821V7.53h4.63v1.24h-3.205v2.494h2.953v1.234h-2.953v2.604h3.396zm-6.708 0H8.882L4.78 9.863a2.896 2.896 0 0 1-.258-.51h-.036c.032.189.048.592.048 1.21v5.772H3.157V7.53h1.659l3.965 6.32c.167.261.275.442.323.54h.024c-.04-.233-.06-.629-.06-1.185V7.529h1.372zm-8.703-.693a.868.829 0 0 1-.869.829.868.829 0 0 1-.868-.83.868.829 0 0 1 .868-.828.868.829 0 0 1 .869.829Z`},git:{title:`Git`,color:`#F03C2E`,path:`M13.09 23.549a1.54 1.54 0 0 1-2.18 0L.451 13.089a1.54 1.54 0 0 1 0-2.179l7.191-7.19 2.733 2.733a1.85 1.85 0 0 0 .964 2.326v6.66a1.849 1.849 0 1 0 1.54 0V8.957l2.508 2.508a1.85 1.85 0 1 0 1.09-1.09l-2.634-2.634a1.85 1.85 0 0 0-2.378-2.377L8.73 2.63 10.91.451a1.54 1.54 0 0 1 2.179 0l10.459 10.46a1.54 1.54 0 0 1 0 2.179z`},go:{title:`Go`,color:`#00ADD8`,path:`M1.811 10.231c-.047 0-.058-.023-.035-.059l.246-.315c.023-.035.081-.058.128-.058h4.172c.046 0 .058.035.035.07l-.199.303c-.023.036-.082.07-.117.07zM.047 11.306c-.047 0-.059-.023-.035-.058l.245-.316c.023-.035.082-.058.129-.058h5.328c.047 0 .07.035.058.07l-.093.28
1c-.012.047-.058.07-.105.07zm2.828 1.075c-.047 0-.059-.035-.035-.07l.163-.292c.023-.035.07-.07.117-.07h2.337c.047 0 .07.035.07.082l-.023.28c0 .047-.047.082-.082.082zm12.129-2.36c-.736.187-1.239.327-1.963.514-.176.046-.187.058-.34-.117-.174-.199-.303-.327-.548-.444-.737-.362-1.45-.257-2.115.175-.795.514-1.204 1.274-1.192 2.22.011.935.654 1.706 1.577 1.835.795.105 1.46-.175 1.987-.77.105-.13.198-.27.315-.434H10.47c-.245 0-.304-.152-.222-.35.152-.362.432-.97.596-1.274a.315.315 0 01.292-.187h4.253c-.023.316-.023.631-.07.947a4.983 4.983 0 01-.958 2.29c-.841 1.11-1.94 1.8-3.33 1.986-1.145.152-2.209-.07-3.143-.77-.865-.655-1.356-1.52-1.484-2.595-.152-1.274.222-2.419.993-3.424.83-1.086 1.928-1.776 3.272-2.02 1.098-.2 2.15-.07 3.096.571.62.41 1.063.97 1.356 1.648.07.105.023.164-.117.2m3.868 6.461c-1.064-.024-2.034-.328-2.852-1.029a3.665 3.665 0 01-1.262-2.255c-.21-1.32.152-2.489.947-3.529.853-1.122 1.881-1.706 3.272-1.95 1.192-.21 2.314-.095 3.33.595.923.63 1.496 1.484 1.648 2.605.198 1.578-.257 2.863-1.344 3.962-.771.783-1.718 1.273-2.805 1.495-.315.06-.63.07-.934.106zm2.78-4.72c-.011-.153-.011-.27-.034-.387-.21-1.157-1.274-1.81-2.384-1.554-1.087.245-1.788.935-2.045 2.033-.21.912.234 1.835 1.075 2.21.643.28 1.285.244 1.905-.07.923-.48 1.425-1.228 1.484-2.233z`},graphql:{title:`GraphQL`,color:`#E10098`,path:`M12.002 0a2.138 2.138 0 1 0 0 4.277 2.138 2.138 0 1 0 0-4.277zm8.54 4.931a2.138 2.138 0 1 0 0 4.277 2.138 2.138 0 1 0 0-4.277zm0 9.862a2.138 2.138 0 1 0 0 4.277 2.138 2.138 0 1 0 0-4.277zm-8.54 4.931a2.138 2.138 0 1 0 0 4.276 2.138 2.138 0 1 0 0-4.276zm-8.542-4.93a2.138 2.138 0 1 0 0 4.276 2.138 2.138 0 1 0 0-4.277zm0-9.863a2.138 2.138 0 1 0 0 4.277 2.138 2.138 0 1 0 0-4.277zm8.542-3.378L2.953 6.777v10.448l9.049 5.224 9.047-5.224V6.777zm0 1.601 7.66 13.27H4.34zm-1.387.371L3.97 15.037V7.363zm2.774 0 6.646 3.838v7.674zM5.355 17.44h13.293l-6.646 3.836z`},html:{title:`HTML5`,color:`#E34F26`,path:`M1.5 0h21l-1.91 21.563L11.977 24l-8.564-2.438L1.5 0zm7.031 9.75l-.232-2.718 10.059.003.23-2.622L5.412 4.41l.698 8.01h9.126l-.326 3.426-2.91.804-2.955-.81-.188-2.11H6.248l.33 4.171L12 19.351l5.379-1.443.744-8.157H8.531z`},java:{title:`OpenJDK`,color:`adaptive`,path:`M11.915 0 11.7.215C9.515 2.4 7.47 6.39 6.046 10.483c-1.064 1.024-3.633 2.81-3.711 3.551-.093.87 1.746 2.611 1.55 3.235-.198.625-1.304 1.408-1.014 1.939.1.188.823.011 1.277-.491a13.389 13.389 0 0 0-.017 2.14c.076.906.27 1.668.643 2.232.372.563.956.911 1.667.911.397 0 .727-.114 1.024-.264.298-.149.571-.33.91-.5.68-.34 1.634-.666 3.53-.604 1.903.062 2.872.39 3.559.704.687.314 1.15.664 1.925.664.767 0 1.395-.336 1.807-.9.412-.563.631-1.33.72-2.24.06-.623.055-1.32 0-2.066.454.45 1.117.604 1.213.424.29-.53-.816-1.314-1.013-1.937-.198-.624 1.642-2.366 1.549-3.236-.08-.748-2.707-2.568-3.748-3.586C16.428 6.374 14.308 2.394 12.13.215zm.175 6.038a2.95 2.95 0 0 1 2.943 2.942 2.95 2.95 0 0 1-2.943 2.943A2.95 2.95 0 0 1 9.148 8.98a2.95 2.95 0 0 1 2.942-2.942zM8.685 7.983a3.515 3.515 0 0 0-.145.997c0 1.951 1.6 3.55 3.55 3.55 1.95 0 3.55-1.598 3.55-3.55 0-.329-.046-.648-.132-.951.334.095.64.208.915.336a42.699 42.699 0 0 1 2.042 5.829c.678 2.545 1.01 4.92.846 6.607-.082.844-.29 1.51-.606 1.94-.315.431-.713.651-1.315.651-.593 0-.932-.27-1.673-.61-.741-.338-1.825-.694-3.792-.758-1.974-.064-3.073.293-3.821.669-.375.188-.659.373-.911.5s-.466.2-.752.2c-.53 0-.876-.209-1.16-.64-.285-.43-.474-1.101-.545-1.948-.141-1.693.176-4.069.823-6.614a43.155 43.155 0 0 1 1.934-5.783c.348-.167.749-.31 1.192-.425zm-3.382 4.362a.216.216 0 0 1 .13.031c-.166.56-.323 1.116-.463 1.665a33.849 33.849 0 0 0-.547 2.555 3.9 3.9 0 0 0-.2-.39c-.58-1.012-.914-1.642-1.16-2.08.315-.24 1.679-1.755 2.24-1.781zm13.394.01c.562.027 1.926 1.543 2.24 1.783-.246.438-.58 1.068-1.16 2.08a4.428 4.428 0 0 0-.163.309 32.354 32.354 0 0 0-.562-2.49 40.579 40.579 0 0 0-.482-1.652.216.216 0 0 1 .127-.03z`},javascript:{title:`JavaScript`,color:`#F7DF1E`,path:`M0 0h24v24H0V0zm22.034 18.276c-.175-1.095-.888-2.015-3.003-2.873-.736-.345-1.554-.585-1.797-1.14-.091-.33-.105-.51-.046-.705.15-.646.915-.84 1.515-.66.39.12.75.42.976.9 1.034-.676 1.034-.676 1.755-1.125-.27-.42-.404-.601-.586-.78-.63-.705-1.469-1.065-2.834-1.034l-.705.089c-.676.165-1.32.525-1.71 1.005-1.14 1.291-.811 3.541.569 4.471 1.365 1.02 3.361 1.244 3.616 2.205.24 1.17-.87 1.545-1.966 1.41-.811-.18-1.26-.586-1.755-1.336l-1.83 1.051c.21.48.45.689.81 1.109 1.74 1.756 6.09 1.666 6.871-1.004.029-.09.24-.705.074-1.65l.046.067zm-8.983-7.245h-2.248c0 1.938-.009 3.864-.009 5.805 0 1.232.063 2.363-.138 2.711-.33.689-1.18.601-1.566.48-.396-.196-.597-.466-.83-.855-.063-.105-.11-.196-.127-.196l-1.825 1.125c.305.63.75 1.172 1.324 1.517.855.51 2.004.675 3.207.405.783-.226 1.458-.691 1.811-1.411.51-.93.402-2.07.397-3.346.012-2.054 0-4.109 0-6.179l.004-.056z`},mongodb:{title:`MongoDB`,color:`#47A248`,path:`M17.193 9.555c-1.264-5.58-4.252-7.414-4.573-8.115-.28-.394-.53-.954-.735-1.44-.036.495-.055.685-.523 1.184-.723.566-4.438 3.682-4.74 10.02-.282 5.912 4.27 9.435 4.888 9.884l.07.05A73.49 73.49 0 0111.91 24h.481c.114-1.032.284-2.056.51-3.07.417-.296.604-.463.85-.693a11.342 11.342 0 003.639-8.464c.01-.814-.103-1.662-.197-2.218zm-5.336 8.195s0-8.291.275-8.29c.213 0 .49 10.695.49 10.695-.381-.045-.765-1.76-.765-2.405z`},nextjs:{title:`Next.js`,color:`adaptive`,path:`M18.665 21.978C16.758 23.255 14.465 24 12 24 5.377 24 0 18.623 0 12S5.377 0 12 0s12 5.377 12 12c0 3.583-1.574 6.801-4.067 9.001L9.219 7.2H7.2v9.596h1.615V9.251l9.85 12.727Zm-3.332-8.533 1.6 2.061V7.2h-1.6v6.245Z`},node:{title:`Node.js`,color:`#5FA04E`,path:`M11.998,24c-0.321,0-0.641-0.084-0.922-0.247l-2.936-1.737c-0.438-0.245-0.224-0.332-0.08-0.383 c0.585-0.203,0.703-0.25,1.328-0.604c0.065-0.037,0.151-0.023,0.218,0.017l2.256,1.339c0.082,0.045,0.197,
10.045,0.272,0l8.795-5.076 c0.082-0.047,0.134-0.141,0.134-0.238V6.921c0-0.099-0.053-0.192-0.137-0.242l-8.791-5.072c-0.081-0.047-0.189-0.047-0.271,0 L3.075,6.68C2.99,6.729,2.936,6.825,2.936,6.921v10.15c0,0.097,0.054,0.189,0.139,0.235l2.409,1.392 c1.307,0.654,2.108-0.116,2.108-0.89V7.787c0-0.142,0.114-0.253,0.256-0.253h1.115c0.139,0,0.255,0.112,0.255,0.253v10.021 c0,1.745-0.95,2.745-2.604,2.745c-0.508,0-0.909,0-2.026-0.551L2.28,18.675c-0.57-0.329-0.922-0.945-0.922-1.604V6.921 c0-0.659,0.353-1.275,0.922-1.603l8.795-5.082c0.557-0.315,1.296-0.315,1.848,0l8.794,5.082c0.57,0.329,0.924,0.944,0.924,1.603 v10.15c0,0.659-0.354,1.273-0.924,1.604l-8.794,5.078C12.643,23.916,12.324,24,11.998,24z M19.099,13.993 c0-1.9-1.284-2.406-3.987-2.763c-2.731-0.361-3.009-0.548-3.009-1.187c0-0.528,0.235-1.233,2.258-1.233 c1.807,0,2.473,0.389,2.747,1.607c0.024,0.115,0.129,0.199,0.247,0.199h1.141c0.071,0,0.138-0.031,0.186-0.081 c0.048-0.054,0.074-0.123,0.067-0.196c-0.177-2.098-1.571-3.076-4.388-3.076c-2.508,0-4.004,1.058-4.004,2.833 c0,1.925,1.488,2.457,3.895,2.695c2.88,0.282,3.103,0.703,3.103,1.269c0,0.983-0.789,1.402-2.642,1.402 c-2.327,0-2.839-0.584-3.011-1.742c-0.02-0.124-0.126-0.215-0.253-0.215h-1.137c-0.141,0-0.254,0.112-0.254,0.253 c0,1.482,0.806,3.248,4.655,3.248C17.501,17.007,19.099,15.91,19.099,13.993z`},postgresql:{title:`PostgreSQL`,color:`#4169E1`,path:`M23.5594 14.7228a.5269.5269 0 0 0-.0563-.1191c-.139-.2632-.4768-.3418-1.0074-.2321-1.6533.3411-2.2935.1312-2.5256-.0191 1.342-2.0482 2.445-4.522 3.0411-6.8297.2714-1.0507.7982-3.5237.1222-4.7316a1.5641 1.5641 0 0 0-.1509-.235C21.6931.9086 19.8007.0248 17.5099.0005c-1.4947-.0158-2.7705.3461-3.1161.4794a9.449 9.449 0 0 0-.5159-.0816 8.044 8.044 0 0 0-1.3114-.1278c-1.1822-.0184-2.2038.2642-3.0498.8406-.8573-.3211-4.7888-1.645-7.2219.0788C.9359 2.1526.3086 3.8733.4302 6.3043c.0409.818.5069 3.334 1.2423 5.7436.4598 1.5065.9387 2.7019 1.4334 3.582.553.9942 1.1259 1.5933 1.7143 1.7895.4474.1491 1.1327.1441 1.8581-.7279.8012-.9635 1.5903-1.8258 1.9446-2.2069.4351.2355.9064.3625 1.39.3772a.0569.0569 0 0 0 .0004.0041 11.0312 11.0312 0 0 0-.2472.3054c-.3389.43
102-.4094.5197-1.5002.7443-.3102.064-1.1344.2339-1.1464.8115-.0025.1224.0329.2309.0919.3268.2269.4231.9216.6097 1.015.6331 1.3345.3335 2.5044.092 3.3714-.6787-.017 2.231.0775 4.4174.3454 5.0874.2212.5529.7618 1.9045 2.4692 1.9043.2505 0 .5263-.0291.8296-.0941 1.7819-.3821 2.5557-1.1696 2.855-2.9059.1503-.8707.4016-2.8753.5388-4.1012.0169-.0703.0357-.1207.057-.1362.0007-.0005.0697-.0471.4272.0307a.3673.3673 0 0 0 .0443.0068l.2539.0223.0149.001c.8468.0384 1.9114-.1426 2.5312-.4308.6438-.2988 1.8057-1.0323 1.5951-1.6698zM2.371 11.8765c-.7435-2.4358-1.1779-4.8851-1.2123-5.5719-.1086-2.1714.4171-3.6829 1.5623-4.4927 1.8367-1.2986 4.8398-.5408 6.108-.13-.0032.0032-.0066.0061-.0098.0094-2.0238 2.044-1.9758 5.536-1.9708 5.7495-.0002.0823.0066.1989.0162.3593.0348.5873.0996 1.6804-.0735 2.9184-.1609 1.1504.1937 2.2764.9728 3.0892.0806.0841.1648.1631.2518.2374-.3468.3714-1.1004 1.1926-1.9025 2.1576-.5677.6825-.9597.5517-1.0886.5087-.3919-.1307-.813-.5871-1.2381-1.3223-.4796-.839-.9635-2.0317-1.4155-3.5126zm6.0072 5.0871c-.1711-.0428-.3271-.1132-.4322-.1772.0889-.0394.2374-.0902.4833-.1409 1.2833-.2641 1.4815-.4506 1.9143-1.0002.0992-.126.2116-.2687.3673-.4426a.3549.3549 0 0 0 .0737-.1298c.1708-.1513.2724-.1099.4369-.0417.156.0646.3078.26.3695.4752.0291.1016.0619.2945-.0452.4444-.9043 1.2658-2.2216 1.2494-3.1676 1.0128zm2.094-3.988-.0525.141c-.133.3566-.2567.6881-.3334 1.003-.6674-.0021-1.3168-.2872-1.8105-.8024-.6279-.6551-.9131-1.5664-.7825-2.5004.1828-1.3079.1153-2.4468.079-3.0586-.005-.0857-.0095-.1607-.0122-.2199.2957-.2621 1.6659-.9962 2.6429-.7724.4459.1022.7176.4057.8305.928.5846 2.7038.0774 3.8307-.3302 4.7363-.084.1866-.1633.3629-.2311.5454zm7.3637 4.5725c-.0169.1768-.0358.376-.0618.5959l-.146.4383a.3547.3547 0 0 0-.0182.1077c-.0059.4747-.054.6489-.115.8693-.0634.2292-.1353.4891-.1794 1.0575-.11 1.4143-.8782 2.2267-2.4172 2.5565-1.5155.3251-1.7843-.4968-2.0212-1.2217a6.5824 6.5824 0 0 0-.0769-.2266c-.2154-.5858-.1911-1.4119-.1574-2.5551.0165-.5612-.0249-1.9013-.3302-2.6462.0044-.2932.0106-.5909.019-.8918a.3529.3529 0 0 0-.0153-.1126 1.4927 1.4927 0 0 0-.0439-.208c-.1226-.4283-.4213-.7866-.7797-.9351-.1424-.059-.4038-.1672-.7178-.0869.067-.276.1831-.5875.309-.9249l.0529-.142c.0595-.16.134-.3257.213-.5012.4265-.9476 1.0106-2.2453.3766-5.1772-.2374-1.0981-1.0304-1.6343-2.2324-1.5098-.7207.0746-1.3799.3654-1.7088.5321a5.6716 5.6716 0 0 0-.1958.1041c.0918-1.1064.4386-3.1741 1.7357-4.4823a4.0306 4.0306 0 0 1 .3033-.276.3532.3532 0 0 0 .1447-.0644c.7524-.5706 1.6945-.8506 2.802-.8325.4091.0067.8017.0339 1.1742.081 1.939.3544 3.2439 1.4468 4.0359 2.3827.8143.9623 1.2552 1.9315 1.4312 2.4543-1.3232-.1346-2.2234.1268-2.6797.779-.9926 1.4189.543 4.1729 1.2811 5.4964.1353.2426.2522.4522.2889.5413.2403.5825.5515.9713.7787 1.2552.0696.087.1372.1714.1885.245-.4008.1155-1.1208.3825-1.0552 1.717-.0123.1563-.0423.4469-.0834.8148-.0461.2077-.0702.4603-.0994.7662zm.8905-1.6211c-.0405-.8316.2691-.9185.5967-1.0105a2.8566 2.8566 0 0 0 .135-.0406 1.202 1.202 0 0 0 .1342.103c.5703.3765 1.5823.4213 3.0068.1344-.2016.1769-.5189.3994-.9533.6011-.4098.1903-1.0957.333-1.7473.3636-.7197.0336-1.0859-.0807-1.1721-.151zm.5695-9.2712c-.0059.3508-.0542.6692-.1054 1.0017-.055.3576-.112.7274-.1264 1.1762-.0142.4368.0404.8909.0932 1.3301.1066.887.216 1.8003-.2075 2.7014a3.5272 3.5272 0 0 1-.1876-.3856c-.0527-.1276-.1669-.3326-.3251-.6162-.6156-1.1041-2.0574-3.6896-1.3193-4.7446.3795-.5427 1.3408-.5661 2.1781-.463zm.2284 7.0137a12.3762 12.3762 0 0 0-.0853-.1074l-.0355-.0444c.7262-1.1995.5842-2.3862.4578-3.4385-.0519-.4318-.1009-.8396-.0885-1.2226.0129-.4061.0666-.7543.1185-1.0911.0639-.415.1288-.8443.1109-1.3505.0134-.0531.0188-.1158.0118-.1902-.0457-.4855-.5999-1.938-1.7294-3.253-.6076-.7073-1.4896-1.4972-2.6889-2.0395.5251-.1066 1.2328-.2035 2.0244-.1859 2.0515.0456 3.6746.8135 4.8242 2.2824a.908.908 0 0 1 .0667.1002c.7231 1.3556-.2762 6.2751-2.9867 10.5405zm-8.8166-6.1162c-.025.1794-.3089.4225-.6211.4225a.5821.5821 0 0 1-.0809-.0056c-.1873-.026-.3765-.144-.5059-.3156-.0458-.0605-.1203-.178-.1055-.2844.0055-.0401.0261-.0985.0925-.1488.1182-.0894.3518-.1226.6096-.0867.3163.0441.6426.1938.6113.4186zm7.9305-.4114c.0111.0792-.049.201-.1531.3102-.0683.0717-.212.1961-.4079.2232a.5456.5456 0 0 1-.075.0052c-.2935 0-.5414-.2344-.5607-.3717-.024-.1765.2641-.3106.5611-.352.297-.0414.6111.0088.6356.1851z`},python:{title:`Python`,color:`#3776AB`,path:`M14.25.18l.9.2.73.26.59.3.45.32.34.34.25.34.16.33.1.3.04.26.02.2-.01.13V8.5l-.05.63-.13.55-.21.46-.26.38-.3.31-.33.25-.35.19-.35.14-.33.1-.3.07-.26.04-.21.02H8.77l-.69.05-.59.14-.5.22-.41.27-.33.32-.27.35-.2.36-.15.37-.1.35-.07.32-.04.27-.02.21v3.06H3.17l-.21-.03-.28-.07-.32-.12-.35-.18-.36-.26-.36-.36-.35-.46-.32-.59-.28-.73-.21-.88-.14-1.05-.05-1.23.06-1.22.16-1.04.24-.87.32-.71.36-.57.4-.44.42-.33.42-.24.4-.16.36-.1.32-.05.24-.01h.16l.06.01h8.16v-.83H6.18l-.01-2.75-.02-.37.05-.34.11-.31.17-.28.25-.26.31-.23.38-.2.44-.18.51-.15.58-.12.64-.1.71-.06.77-.04.84-.02 1.27.05zm-6.3 1.98l-.23.33-.08.41.08.41.23.34.33.22.41.09.41-.09.33-.22.23-.34.08-.41-.08-.41-.23-.33-.33-.22-.41-.09-.41.09zm13.09 3.95l.28.06.32.12.35.18.36.27.36.35.35.47.32.59.28.73.21.88.14 1.04.05 1.23-.06 1.23-.16 1.04-.24.86-.32.71-.36.57-.4.45-.42.33-.42.24-.4.16-.36.09-.32.05-.24.02-.16-.01h-8.22v.82h5.84l.01 2.76.02.36-.05.34-.11.31-.17.29-.25.25-.31.24-.38.2-.44.17-.51.15-.58.13-.64.09-.71.07-.77.04-.84.01-1.27-.04-1.07-.14-.9-.2-.73-.25-.59-.3-.45-.33-.34-.34-.25-.34-.16-.33-.1-.3-.04-.25-.02-.2.01-.13v-5.34l.05-.64.13-.54.21-.46.26-.38.3-.32.33-.24.35-.2.35-.14.33-.1.3-.06.26-.04.21-.02.13-.01h5.84l.69-.05.59-.14.5-.21.41-.28.33-.32.27-.35.2-.36.15-.36.1-.35.07-.32.04-.28.02-.21V6.07h2.09l.14.01zm-6.47 14.25l-.23.33-.08.41.08.41.23.33.33.23.41.08.41-.08.33-.23.23-.33.08-.41-.08-.41-.23-.33-.33-.23-.41-.08-.41.08z`},react:{title:`React`,color:`#61DAFB`,path:`M14.23 12.004a2.236 2.236 0 0 1-2.235 2.236 2.236 2.236 0 0 1-2.236-2.236 2.236 2.236 0 0 1 2.235-2.236 2.236 2.236 0 0 1 2.236 2.236zm2.648-10.69c-1.346 0-3.107.96-4.888 2.622-1.78-1.653-3.542-2.602-4.887-2.602-.41 0-.783.093-1.106.278-1.375.793-1.683 3.264-.973 6.365C1.98 8.917 0 10.42 0 12.004c0 1.59 1.99 3.097 5.043 4.03-.704 3.113-.39 5.588.988 6.38.32.187.69.275 1.102.275 1.345 0 3.107-.96 4.888-2.624 1.78 1.654 3.542 2.603 4.887 2.603.41 0 .783-.09 1.106-.275 1.374-.792 1.683-3.263.973-6.365C22.02 15.096 24 13.59 24 12.004c0-1.59-1.99-3.097-5.043-4.032.704-3.11.39-5.587-.988-6.38-.318-.184-.688-.277-1.092-.278zm-.005 1.09v.006c.225 0 .406.044.558.127.666.382.955 1.835.73 3.704-.054.46-.142.945-.25 1.44-.96-.236-2.006-.417-3.107-.534-.66-.905-1.345-1.727-2.035-2.447 1.592-1.48 3.087-2.292 4.105-2.295zm-9.77.02c1.012 0 2.514.808 4.11 2.28-.686.72-1.37 1.537-2.02 2.442-1.107.117-2.154.298-3.113.538-.112-.49-.195-.964-.254-1.42-.23-1.868.054-3.32.714-3.707.19-.09.4-.127.563-.132zm4.882 3.05c.455.468.91.992 1.36 1.564-.44-.02-.89-.034-1.345-.034-.46 0-.915.01-1.36.034.44-.572.895-1.096 1.345-1.565zM12 8.1c.74 0 1.477.034 2.202.093.406.582.802 1.203 1.183 1.86.372.64.71 1.29 1.018 1.946-.308.655-.646 1.31-1.013 1.95-.38.66-.773 1.288-1.18 1.87-.728.063-1.466.098-2.21.098-.74 0-1.477-.035-2.202-.093-.406-.582-.802-1.204-1.
1183-1.86-.372-.64-.71-1.29-1.018-1.946.303-.657.646-1.313 1.013-1.954.38-.66.773-1.286 1.18-1.868.728-.064 1.466-.098 2.21-.098zm-3.635.254c-.24.377-.48.763-.704 1.16-.225.39-.435.782-.635 1.174-.265-.656-.49-1.31-.676-1.947.64-.15 1.315-.283 2.015-.386zm7.26 0c.695.103 1.365.23 2.006.387-.18.632-.405 1.282-.66 1.933-.2-.39-.41-.783-.64-1.174-.225-.392-.465-.774-.705-1.146zm3.063.675c.484.15.944.317 1.375.498 1.732.74 2.852 1.708 2.852 2.476-.005.768-1.125 1.74-2.857 2.475-.42.18-.88.342-1.355.493-.28-.958-.646-1.956-1.1-2.98.45-1.017.81-2.01 1.085-2.964zm-13.395.004c.278.96.645 1.957 1.1 2.98-.45 1.017-.812 2.01-1.086 2.964-.484-.15-.944-.318-1.37-.5-1.732-.737-2.852-1.706-2.852-2.474 0-.768 1.12-1.742 2.852-2.476.42-.18.88-.342 1.356-.494zm11.678 4.28c.265.657.49 1.312.676 1.948-.64.157-1.316.29-2.016.39.24-.375.48-.762.705-1.158.225-.39.435-.788.636-1.18zm-9.945.02c.2.392.41.783.64 1.175.23.39.465.772.705 1.143-.695-.102-1.365-.23-2.006-.386.18-.63.406-1.282.66-1.933zM17.92 16.32c.112.493.2.968.254 1.423.23 1.868-.054 3.32-.714 3.708-.147.09-.338.128-.563.128-1.012 0-2.514-.807-4.11-2.28.686-.72 1.37-1.536 2.02-2.44 1.107-.118 2.154-.3 3.113-.54zm-11.83.01c.96.234 2.006.415 3.107.532.66.905 1.345 1.727 2.035 2.446-1.595 1.483-3.092 2.295-4.11 2.295-.22-.005-.406-.05-.553-.132-.666-.38-.955-1.834-.73-3.703.054-.46.142-.944.25-1.438zm4.56.64c.44.02.89.034 1.345.034.46 0 .915-.01 1.36-.034-.44.572-.895 1.095-1.345 1.565-.455-.47-.91-.993-1.36-1.565z`},redux:{title:`Redux`,color:`#764ABC`,path:`M16.634 16.504c.87-.075 1.543-.84 1.5-1.754-.047-.914-.796-1.648-1.709-1.648h-.061a1.71 1.71 0 0 0-1.648 1.769c.03.479.226.869.494 1.153-1.048 2.038-2.621 3.536-5.005 4.795-1.603.838-3.296 1.154-4.944.93-1.378-.194-2.456-.81-3.116-1.799-.988-1.499-1.078-3.116-.255-4.734.6-1.17 1.499-2.023 2.099-2.443a9.96 9.96 0 0 1-.42-1.543C-.868 14.472-.416 18.663.932 20.65c1.004 1.498 3.057 2.44 5.304 2.44.6 0 1.229-.045 1.843-.194 3.897-.75 6.848-3.066 8.541-6.532zm5.348-3.746c-2.32-2.728-5.738-4.226-9.634-4.226h-.51c-.253-.554-.837-.899-1.498-.899h-.045c-.943 0-1.678.81-1.647 1.753.03.898.794 1.648 1.708 1.648h.06a1.688 1.688 0 0 0 1.499-1.049h.555c2.305 0 4.494.674 6.488 1.992 1.527 1.005 2.622 2.323 3.237 3.897.526 1.288.496 2.531-.06 3.581-.867 1.647-2.323 2.531-4.212 2.531-1.199 0-2.365-.375-2.98-.644-.359.298-.988.793-1.438 1.093 1.318.598 2.665.929 3.94.929 2.921 0 5.095-1.618 5.918-3.237.884-1.784.825-4.869-1.769-7.312zM6.49 17.042c.03.899.793 1.648 1.708 1.648h.06a1.688 1.688 0 0 0 1.648-1.769c-.03-.898-.794-1.648-1.708-1.648h-.06c-.06 0-.15 0-.211.03-1.198-1.993-1.708-4.166-1.528-6.518.12-1.768.706-3.296 1.738-4.555.868-1.083 2.531-1.603 3.657-1.633 3.146-.06 4.481 3.867 4.571 5.44.359.075 1.319.408 1.319.408-.706-4.869-3.717-7.362-6.517-7.362-2.621 0-5.037 1.887-6.007 4.674-1.348 3.777-.464 7.409 1.199 10.291-.15.209-.24.629-.21.899z`},redis:{title:`Redis`,color:`#FF4438`,path:`M22.71 13.145c-1.66 2.092-3.452 4.483-7.038 4.483-3.203 0-4.397-2.825-4.48-5.12.701 1.484 2.073 2.685 4.214 2.63 4.117-.133 6.94-3.852 6.94-7.239 0-4.05-3.022-6.972-8.268-6.972-3.752 0-8.4 1.428-11.455 3.685C2.59 6.937 3.885 9.958 4.35 9.626c2.648-1.904 4.748-3.13 6.784-3.744C8.12 9.244.886 17.05 0 18.425c.1 1.261 1.66 4.648 2.424 4.648.232 0 .431-.133.664-.365a100.49 100.49 0 0 0 5.54-6.765c.222 3.104 1.748 6.898 6.014 6.898 3.819 0 7.604-2.756 9.33-8.965.2-.764-.73-1.361-1.261-.73zm-4.349-5.013c0 1.959-1.926 2.922-3.685 2.922-.941 0-1.664-.247-2.235-.568 1.051-1.592 2.092-3.225 3.21-4.973 1.972.334 2.71 1.43 2.71 2.619z`},ruby:{title:`Ruby`,color:`#CC342D`,path:`M20.156.083c3.033.525 3.893 2.598 3.829 4.77L24 4.822 22.635 22.71 4.89 23.926h.016C3.433 23.864.15 23.729 0 19.139l1.645-3 2.819 6.586.503 1.172 2.805-9.144-.03.007.016-.03 9.255 2.956-1.396-5.431-.99-3.9 8.82-.569-.615-.51L16.5 2.114 20.159.073l-.003.01zM0 19.089zM5.13 5.073c3.561-3.533 8.157-5.621 9.922-3.84 1.762 1.777-.105 6.105-3.673 9.636-3.563 3.532-8.103 5.734-9.864 3.957-1.766-1.777.045-6.217 3.612-9.75l.003-.003z`},typescript:{title:`TypeScript`,color:`#3178C6`,path:`M1.125 0C.502 0 0 .502 0 1.125v21.75C0 23.498.502 24 1.125 24h21.75c.623 0 1.125-.502 1.125-1.125V1.125C24 .502 23.498 0 22.875 0zm17.363 9.75c.612 0 1.154.037 1.627.111a6.38 6.38 0 0 1 1.306.34v2.458a3.95 3.95 0 0 0-.643-.361 5.093 5.093 0 0 0-.717-.26 5.453 5.453 0 0 0-1.426-.2c-.3 0-.573.028-.819.086a2.1 2.1 0 0 0-.623.242c-.17.104-.3.229-.393.374a.888.888 0 0 0-.14.49c0 .196.053.373.156.529.104.156.252.304.443.444s.423.276.696.41c.273.135.582.274.926.416.47.197.892.407 1.266.628.374.222.695.473.963.753.268.279.472.598.614.957.142.359.214.776.214 1.253 0 .657-.125 1.21-.373 1.656a3.033 3.033 0 0 1-1.012 1.085 4.38 4.38 0 0 1-1.487.596c-.566.12-1.163.18-1.79.18a9.916 9.916 0 0 1-1.84-.164 5.544 5.544 0 0 1-1.512-.493v-2.63a5.033 5.033 0 0 0 3.237 1.2c.333 0 .624-.03.872-.09.249-.06.456-.144.623-.25.166-.108.29-.234.373-.38a1.023 1.023 0 0 0-.074-1.089 2.12 2.12 0 0 0-.537-.5 5.597 5.597 0 0 0-.807-.444 27.72 27.72 0 0 0-1.007-.436c-.918-.383-1.602-.852-2.053-1.405-.45-.553-.676-1.222-.676-2.005 0-.614.123-1.141.369-1.582.246-.441.58-.804 1.004-1.089a4.494 4.494 0 0 1 1.47-.629 7.536 7.536 0 0 1 1.77-.201zm-15.113.188h9.563v2.166H9.506v9.646H6.789v-9.646H3.375z`},vue:{title:`Vue.js`,color:`#4FC08D`,path:`M24,1.61H14.06L12,5.16,9.94,1.61H0L12,22.39ZM12,14.08,5.16,2.23H9.59L12,6.41l2.41-4.18h4.43Z`},webpack:{title:`Webpack`,color:`#1C78C0`,path:`M22.1987 18.498l-9.7699 5.5022v-4.2855l6.0872-3.3338 3.6826 2.117zm.6683-.6026V6.3884l-3.5752 2.0544v7.396zm-21.0657.6026l9.7699 5.5022v-4.2855L5.484 16.3809l-3.6826 2.117zm-.6683-.6026V6.3884l3.5751 2.0544v7.396zm.4183-12.2515l10.0199-5.644v4.1434L5.152 7.6586l-.0489.028zm20.8975 0l-10.02-5.644v4.1434l6.4192 3.5154.0489.028 3.5518-2.0427zm-10.8775 13.096l-6.0056-3.2873V8.9384l6.0054 3.4525v6.349zm.8575 0l6.0053-3.2873V8.9384l-6.0053 3.4525zM5.9724 8.1845l6.0287-3.3015L18.03 8.1845l-6.0288 3.4665z`}},je=[[/next\.?\s?js|nextjs/,`nextjs`],[/node/,`node`],[/typescript|(?:^|[^a-z])ts(?:[^a-z]|$)/,`typescript`],[/javascript|(?:^|[^a-z])js(?:[^a-z]|$)/,`javascript`],[/redux/,`redux`],[/react/,`react`],[/vue/,`vue`],[/angular/,`angular`],[/webpack/,`webpack`],[/babel/,`babel`],[/\.net|asp\.net|c#|csharp|dotnet/,`dotnet`],[/java/,`java`],[/python|(?:^|[^a-z])py(?:[^a-z]|$)/,`python`],[/golang|(?:^|[^a-z])go(?:[^a-z]|$)/,`go`],[/ruby|rails
1/,`ruby`],[/postgres|postgresql/,`postgresql`],[/(?:^|[^a-z])sql(?:[^a-z]|$)/,`sql`],[/mongo/,`mongodb`],[/redis/,`redis`],[/graphql/,`graphql`],[/docker/,`docker`],[/(?:^|[^a-z])aws(?:[^a-z]|$)|amazon web services/,`aws`],[/(?:^|[^a-z])git(?:[^a-z]|$)/,`git`],[/algorithm/,`algorithms`],[/data structure|data_structure/,`data_structures`],[/html/,`html`],[/(?:^|[^a-z])css(?:[^a-z]|$)|scss|tailwind/,`css`]],Me=e=>{if(!e)return null;let t=e.toLowerCase();for(let[e,n]of je)if(e.test(t))return n;return null},H=(e,t)=>({role:`img`,"aria-label":t,width:e,height:e,viewBox:`0 0 24 24`,style:{display:`block`,flexShrink:0}}),Ne=({tech:e,size:t=18,title:n})=>{if(e===`sql`){let e=n??`SQL`;return(0,M.jsxs)(`svg`,{...H(t,e),children:[(0,M.jsx)(`title`,{children:e}),(0,M.jsxs)(`g`,{fill:`none`,stroke:`#4479A1`,strokeWidth:1.7,strokeLinecap:`round`,children:[(0,M.jsx)(`ellipse`,{cx:12,cy:5.6,rx:8,ry:2.6}),(0,M.jsx)(`path`,{d:`M4 5.6 V18.4`}),(0,M.jsx)(`path`,{d:`M20 5.6 V18.4`}),(0,M.jsx)(`path`,{d:`M4 18.4 A8 2.6 0 0 0 20 18.4`}),(0,M.jsx)(`path`,{d:`M4 12 A8 2.6 0 0 0 20 12`})]})]})}if(e===`aws`){let e=n??`AWS`;return(0,M.jsxs)(`svg`,{...H(t,e),children:[(0,M.jsx)(`title`,{children:e}),(0,M.jsxs)(`g`,{fill:`none`,stroke:`#FF9900`,strokeWidth:2.2,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,M.jsx)(`path`,{d:`M3.2 14.4 Q12 20.6 20.4 13.2`}),(0,M.jsx)(`path`,{d:`M16.8 13.7 L20.6 12.7 L20.9 16.6`})]})]})}if(e===`algorithms`){let e=n??`Algorithms`;return(0,M.jsxs)(`svg`,{...H(t,e),children:[(0,M.jsx)(`title`,{children:e}),(0,M.jsxs)(`g`,{fill:`none`,stroke:`var(--color-accent)`,strokeWidth:1.8,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,M.jsx)(`circle`,{cx:12,cy:5,r:2.4}),(0,M.jsx)(`circle`,{cx:5.5,cy:18,r:2.4}),(0,M.jsx)(`circle`,{cx:18.5,cy:18,r:2.4}),(0,M.jsx)(`path`,{d:`M10.7 7.1 L6.6 15.9`}),(0,M.jsx)(`path`,{d:`M13.3 7.1 L17.4 15.9`})]})]})}if(e===`data_structures`){let e=n??`Data Structures`;return(0,M.jsxs)(`svg`,{...H(t,e),children:[(0,M.jsx)(`title`,{children:e}),(0,M.jsxs)(`g`,{fill:`none`,stroke:`var(--color-info)`,strokeWidth:1.8,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,M.jsx)(`rect`,{x:5,y:4,width:14,height:4.4,rx:1.2}),(0,M.jsx)(`rect`,{x:5,y:10.2,width:14,height:4.4,rx:1.2}),(0,M.jsx)(`rect`,{x:5,y:16.4,width:14,height:4.4,rx:1.2})]})]})}if(e===`_generic`){let e=n??`Technical topic`;return(0,M.jsxs)(`svg`,{...H(t,e),children:[(0,M.jsx)(`title`,{children:e}),(0,M.jsxs)(`g`,{fill:`none`,stroke:`var(--color-text-muted)`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,M.jsx)(`polyline`,{points:`8 8 4 12 8 16`}),(0,M.jsx)(`polyline`,{points:`16 8 20 12 16 16`}),(0,M.jsx)(`line`,{x1:`13.5`,y1:`6`,x2:`10.5`,y2:`18`})]})]})}let r=Ae[e];if(!r)return null;let i=r.color===`adaptive`?`var(--color-text)`:r.color,a=n??r.title;return(0,M.jsxs)(`svg`,{...H(t,a),children:[(0,M.jsx)(`title`,{children:a}),(0,M.jsx)(`path`,{d:r.path,fill:i})]})},Pe=({name:e,size:t=18})=>(0,M.jsx)(Ne,{tech:Me(e)??`_generic`,size:t,title:e??void 0}),U=({open:e,onClose:t,title:n,children:r,footer:i,className:a=``,dialogId:o=`sheet-title`,maxWidthClassName:s=`md:max-w-xl`,desktopCentered:c=!1})=>{let l=(0,j.useRef)(null),u=(0,j.useRef)(t);return u.current=t,A(e),(0,j.useEffect)(()=>{if(!e)return;let t=l.current;if(!t)return;let n=document.activeElement,r=()=>Array.from(t.querySelectorAll(`button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])`)),i=r();i.length>0?i[0].focus():t.focus();let a=e=>{if(e.key===`Escape`){u.current();return}if(e.key===`Tab`){let t=r();if(t.length===0)return;let n=t[0],i=t[t.length-1];e.shiftKey?document.activeElement===n&&(e.preventDefault(),i.focus()):document.activeElement===i&&(e.preventDefault(),n.focus())}};return document.addEventListener(`keydown`,a),()=>{document.removeEventListener(`keydown`,a),n?.focus()}},[e]),e?(0,M.jsxs)(`div`,{className:[`fixed inset-0 z-50 flex flex-col justify-end md:items-center`,c?`md:justify-center`:``].filter(Boolean).join(` `),children:[(0,M.jsx)(`div`,{className:`absolute inset-0 bg-black/50 animate-fade-in`,"aria-hidden":`true`,onClick:t}),(0,M.jsxs)(`div`,{ref:l,role:`dialog`,"aria-modal":`true`,"aria-labelledby":o,tabIndex:-1,
1className:[`relative rounded-t-2xl max-h-[90dvh] flex flex-col animate-slide-up focus:outline-none w-full md:rounded-2xl`,c?`md:animate-scale-in`:`md:mb-8`,s,a].filter(Boolean).join(` `),style:{backgroundColor:`var(--color-surface)`,boxShadow:`var(--shadow-sheet)`},children:[(0,M.jsxs)(`div`,{className:`flex items-center justify-between px-4 pt-4 pb-3 border-b flex-shrink-0`,style:{borderColor:`var(--color-border)`},children:[(0,M.jsx)(`h2`,{id:o,className:`text-heading-3`,style:{color:`var(--color-text)`},children:n}),(0,M.jsx)(`button`,{type:`button`,onClick:t,"aria-label":`Close`,className:`w-11 h-11 flex items-center justify-center rounded-lg transition-colors active:scale-95 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-amber-600`,style:{color:`var(--color-text-muted)`},onMouseEnter:e=>{e.currentTarget.style.backgroundColor=`var(--color-border-subtle)`,e.currentTarget.style.color=`var(--color-text)`},onMouseLeave:e=>{e.currentTarget.style.backgroundColor=`transparent`,e.currentTarget.style.color=`var(--color-text-muted)`},children:(0,M.jsxs)(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,M.jsx)(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`}),(0,M.jsx)(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`})]})})]}),(0,M.jsx)(`div`,{className:`overflow-y-auto flex-1 px-4 py-4 scroll-y-thin`,children:r}),i&&(0,M.jsx)(`div`,{className:`flex-shrink-0 px-4 py-3 border-t`,style:{borderColor:`var(--color-border)`},children:i})]})]}):(0,M.jsx)(M.Fragment,{})},Fe=({color:e=`var(--color-success)`})=>(0,M.jsx)(`svg`,{width:`15`,height:`15`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2.5,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,style:{color:e,flexShrink:0,marginTop:2},children:(0,M.jsx)(`polyline`,{points:`20 6 9 17 4 12`})}),Ie=()=>(0,M.jsxs)(`svg`,{width:`15`,height:`15`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,style:{color:`var(--color-text-muted)`,flexShrink:0,marginTop:2},children:[(0,M.jsx)(`rect`,{x:`3`,y:`11`,width:`18`,height:`11`,rx:`2`,ry:`2`}),(0,M.jsx)(`path`,{d:`M7 11V7a5 5 0 0 1 10 0v4`})]}),Le=()=>(0,M.jsxs)(`svg`,{width:`15`,height:`15`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,style:{color:`var(--color-text-muted)`,flexShrink:0,marginTop:2},children:[(0,M.jsx)(`circle`,{cx:`12`,cy:`12`,r:`1`}),(0,M.jsx)(`circle`,{cx:`12`,cy:`12`,r:`8`})]}),Re=({color:e})=>(0,M.jsx)(`span`,{"aria-hidden":`true`,className:`flex items-center justify-center rounded-full flex-shrink-0`,style:{width:26,height:26,marginTop:1,backgroundColor:e,color:`var(--color-surface)`},children:(0,M.jsx)(`svg`,{width:`15`,height:`15`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:3,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,M.jsx)(`polyline`,{points:`20 6 9 17 4 12`})})}),ze=({open:e})=>(0,M.jsx)(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,style:{transition:`transform 0.2s ease`,transform:e?`rotate(180deg)`:`rotate(0deg)`},children:(0,M.jsx)(`polyline`,{points:`6 9 12 15 18 9`})}),W=({title:e,count:t,defaultOpen:n=!1,children:r})=>{let[i,a]=(0,j.useState)(n);return(0,M.jsxs)(`div`,{className:`border-t pt-3 mt-1`,style:{borderColor:`var(--color-border-subtle)`},children:[(0,M.jsxs)(`button`,{type:`button`,onClick:()=>a(!i),className:`flex items-center justify-between w-full text-left mb-2 transition-colors duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-amber-600 rounded`,"aria-expanded":i,children:[(0,M.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,M.jsx)(`span`,{className:`text-xs font-semibold uppercase tracking-wider`,style:{color:`var(--color-text-muted)`,letterSpacing:`0.06em`},children:e}),(0,M.jsx)(`span`,{className:`text-xs font-medium px-1.5 py-0.5 rounded-full`,style:{backgroundColor:`var(--color-border-subtle)`,color:`var(--color-text-muted)`},children:t})]}),(0,M.jsx)(`span`,{style:{color:`var(--color-text-muted)`},children:(0,M.jsx)(ze,{open:i})})]}),i&&(0,M.jsx)(`div`,{className:`space-y-3 pb-2 animate-fade-in`,children:r})]})},G=({icon:e,text:t,muted:n=!1})=>(0,M.jsxs)(`div`,{className:`flex items-start gap-2.5`,children:[e,(0,M.jsx)(`p`,{className:`text-sm leading-relaxed`,style:{color:n?`var(--color-text-muted)`:`var(--color-text-secondary)`},children:t})]}),Be={[T.CORE]:{monthly:E.CORE_MONTHLY,savings:`${E.CORE_QUARTERLY_MONTHLY}/mo quarterly, ${E.CORE_ANNUAL_MONTHLY}/mo annual`},[T.PRO]:{monthly:E.PRO_MONTHLY,savings:`${E.PRO_QUARTERLY_MONTHLY}/mo quarterly, ${E.PRO_ANNUAL_MONTHLY}/mo annual`},[T.PRO_PLUS]:{monthly:E.PRO_PLUS_MONTHLY,savings:`${E.PRO_PLUS_QUARTERLY_MONTHLY}/mo quarterly, ${E.PRO_PLUS_ANNUAL_MONTHLY}/mo annual`}},Ve=({open:e,onClose:t,tier:n,gatedFeature:r,creditBalance:i})=>{let a=p(),o=w[n],s=o?.label??n,c=o?.included??[],l=o?.roadmap??[],u=n===T.FREE,d=n===T.PRO_PLUS||n===T.PRO,f=d?`var(--color-bronze)`:`var(--color-accent)`,m=d?`var(--color-bronze-light)`:`var(--color-accent-light)`,h=w[T.PRO],g=u?h?.included??[]:[],_=r?c.filter((e,t)=>
1!(t===0&&/^everything in /i.test(e))):c,v=w[T.FREE].included,y=Be[n],b=n===T.CORE?`Unlocks with ${s}, along with everything below.`:typeof i==`number`&&i<=0?`You're out of AI credits. Upgrade for the full feature, or refer a friend to earn more.`:`Unlocks with ${s}. Or spend one AI credit to try it once.`,x=(0,M.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,M.jsx)(Ee,{tier:n,size:`md`}),r&&(0,M.jsx)(`span`,{className:`font-display text-base`,style:{color:`var(--color-text)`},children:`feature`})]}),S=u||!!r,C=()=>{t(),a(`/pricing`)};return(0,M.jsx)(U,{open:e,onClose:t,title:x,dialogId:`tier-feature-sheet`,desktopCentered:!0,footer:S?(0,M.jsxs)(`div`,{children:[(0,M.jsx)(`button`,{type:`button`,onClick:C,className:`btn-primary w-full py-3 !text-white !font-bold`,children:r&&y?`Get ${s}, ${y.monthly}/mo`:`See plans`}),r&&y&&(0,M.jsxs)(M.Fragment,{children:[(0,M.jsxs)(`p`,{className:`text-xs text-center mt-2`,style:{color:`var(--color-text-muted)`},children:[`Less on longer plans: `,y.savings,`. Founding price, locked while you stay subscribed.`]}),(0,M.jsx)(`button`,{type:`button`,onClick:C,className:`block mx-auto mt-2 text-xs underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-amber-600 rounded`,style:{color:`var(--color-text-muted)`},children:`Compare all plans`})]})]}):void 0,children:(0,M.jsxs)(`div`,{className:`pb-1`,children:[r&&(0,M.jsxs)(`div`,{className:`mb-4 rounded-xl p-4 flex items-start gap-3`,style:{backgroundColor:m,border:`1px solid ${f}`},children:[(0,M.jsx)(Re,{color:f}),(0,M.jsxs)(`div`,{children:[(0,M.jsx)(`p`,{className:`font-display`,style:{color:`var(--color-text)`,fontSize:`1.0625rem`,lineHeight:1.3},children:r}),(0,M.jsx)(`p`,{className:`text-sm mt-1`,style:{color:`var(--color-text-secondary)`},children:b})]})]}),r&&_.length>0&&(0,M.jsxs)(`p`,{className:`text-xs font-semibold uppercase mb-2.5`,style:{color:f,letterSpacing:`0.08em`},children:[`What `,s,` unlocks`]}),(0,M.jsx)(`div`,{className:`space-y-3 mb-2`,children:_.map((e,t)=>(0,M.jsx)(G,{icon:(0,M.jsx)(Fe,{}),text:e},t))}),r&&v.length>0&&(0,M.jsx)(W,{title:`Already in your plan`,count:v.length,children:v.map((e,t)=>(0,M.jsx)(G,{icon:(0,M.jsx)(Fe,{color:`var(--color-text-muted)`}),text:e,muted:!0},`free-${t}`))}),u&&l.length>0&&(0,M.jsx)(W,{title:`Coming soon`,count:l.length,children:l.map((e,t)=>(0,M.jsx)(G,{icon:(0,M.jsx)(Le,{}),text:e,muted:!0},`roadmap-${t}`))}),u&&g.length>0&&(0,M.jsx)(W,{title:`In Pro`,count:g.length,children:g.map((e,t)=>(0,M.jsx)(G,{icon:(0,M.jsx)(Ie,{}),text:e,muted:!0},`pro-${t}`))}),!u&&!r&&l.length>0&&(0,M.jsx)(W,{title:`Coming soon`,count:l.length,children:l.map((e,t)=>(0,M.jsx)(G,{icon:(0,M.jsx)(Le,{}),text:e,muted:!0},`roadmap-${t}`))})]})})},He=({px:e})=>(0,M.jsx)(`svg`,{width:e,height:e,viewBox:`0 0 24 24`,fill:`currentColor`,stroke:`none`,"aria-hidden":`true`,children:(0,M.jsx)(`path`,{d:`M13 2L3 14h9l-1 8 10-12h-9l1-8z`})}),Ue=({balance:e,size:t=`md`,cost:n=!1,className:r=``})=>{let i=t===`sm`?`px-2.5 py-0.5 text-xs gap-1`:`px-3 py-1 text-sm gap-1.5`,a=n?`Uses 1 credit · ${e} left`:`${e} AI ${e===1?`credit`:`credits`}`;return(0,M.jsxs)(`span`,{className:[`inline-flex items-center rounded-full font-semibold`,i,r].filter(Boolean).join(` `),style:{backgroundColor:`var(--color-accent-light)`,color:`var(--color-accent)`,border:`1px solid var(--color-accent)`},children:[(0,M.jsx)(He,{px:t===`sm`?11:13}),a]})},We={pro:`Pro`,pro_plus:`Pro Plus`},Ge=({tier:e,unlock:t=`pro`,hideNotch:n=!1,children:r,maskColor:i=`var(--color-bg)`,className:a=``})=>{let o=_e(),s=ve();if(t===`core`?s:o)return(0,M.jsx)(`div`,{className:a,children:r});let c=t===`pro`&&e===`pro_plus`,l=t===`core`?`Core`:We[e],u=`var(--color-accent)`,d=c?u:`color-mix(in srgb, ${u} 42%, transparent)`,f=c?u:`color-mix(in srgb, ${u} 70%, var(--color-text-muted))`;return(0,M.jsxs)(`div`,{className:`relative rounded-xl px-4 pt-5 pb-4 ${a}`,style:{border:`1.5px solid ${d}`,boxShadow:c?`0 0 18px -6px color-mix(in srgb, ${u} 55%, transparent)`:`none`},children:[!n&&(0,M.jsx)(`span`,{className:`absolute top-0 left-1/2 -translate-x-1/2 -translate-y-1/2 px-2 font-display text-[11px] font-semibold uppercase tracking-[0.14em]`,style:{backgroundColor:i,
1color:f},children:l}),r]})},Ke={sm:`w-7 h-7 text-xs rounded-md`,md:`w-9 h-9 text-sm rounded-lg`,lg:`w-12 h-12 text-base rounded-xl`,xl:`w-16 h-16 text-xl rounded-2xl`},qe=({name:e,size:t=`md`,className:n=``})=>{let r=e?e.charAt(0).toUpperCase():`?`;return(0,M.jsx)(`div`,{className:[`font-display font-bold`,`flex items-center justify-center flex-shrink-0`,Ke[t],n].filter(Boolean).join(` `),style:{backgroundColor:`var(--color-text)`,color:`var(--color-bg)`},"aria-hidden":`true`,children:r})},Je={sm:`w-9 h-5`,md:`w-11 h-6`},Ye={sm:`w-4 h-4`,md:`w-5 h-5`},Xe={sm:`translate-x-4`,md:`translate-x-5`},Ze=({checked:e,onChange:t,disabled:n=!1,size:r=`md`,"aria-label":i,id:a})=>(0,M.jsx)(`button`,{type:`button`,id:a,role:`switch`,"aria-checked":e,"aria-label":i,disabled:n,onClick:()=>t(!e),className:[`relative flex-shrink-0 rounded-full transition-colors duration-200`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-amber-600 focus-visible:ring-offset-2`,`disabled:opacity-50 disabled:cursor-not-allowed`,Je[r],e?`bg-amber-600`:`bg-[var(--color-border)]`].join(` `),children:(0,M.jsx)(`span`,{className:[`absolute top-0.5 left-0.5 rounded-full bg-white transition-transform duration-200`,Ye[r],e?Xe[r]:`translate-x-0`].join(` `),style:{boxShadow:`0 1px 2px rgba(0,0,0,0.15)`},"aria-hidden":`true`})}),K=({width:e,height:t,borderRadius:n,className:r=``})=>{let i={};return e&&(i.width=e),t&&(i.height=t),n&&(i.borderRadius=n),(0,M.jsx)(`div`,{className:[`skeleton-shimmer`,r].filter(Boolean).join(` `),style:Object.keys(i).length>0?i:void 0,"aria-hidden":`true`})},Qe=({lines:e=1,className:t=``})=>{let n=[`w-full`,`w-4/5`,`w-3/5`];return(0,M.jsx)(`div`,{className:[`flex flex-col gap-2`,t].filter(Boolean).join(` `),children:Array.from({length:e}).map((e,t)=>(0,M.jsx)(`div`,{className:`skeleton-shimmer h-4 rounded ${n[t%n.length]}`,"aria-hidden":`true`},t))})},$e=({className:e=``})=>(0,M.jsx)(`div`,{className:[`skeleton-shimmer rounded-xl h-24 w-full`,e].filter(
1Boolean).join(` `),"aria-hidden":`true`}),et=({id:e,name:t,type:n=`text`,value:r,onChange:i,onBlur:a,onFocus:o,onKeyDown:s,label:c,ariaLabel:l,placeholder:u,helperText:d,errorText:f,successText:p,prefix:m,suffix:h,disabled:g=!1,required:_=!1,autoComplete:v,autoFocus:y=!1,maxLength:b,min:x,max:S,step:C,className:w=``,inputClassName:T=``})=>{let E=!!f,D=!!p&&!E,O=b!==void 0&&r.length>b*.75,k=[`input`,m?`pl-9`:``,h?`pr-9`:``,E?`border-danger focus:ring-danger`:``,D?`border-success focus:ring-success`:``,T].filter(Boolean).join(` `);return(0,M.jsxs)(`div`,{className:[`w-full`,w].filter(Boolean).join(` `),children:[c&&(0,M.jsxs)(`label`,{htmlFor:e,className:`label`,children:[c,_&&(0,M.jsx)(`span`,{className:`text-danger ml-0.5`,"aria-hidden":`true`,children:`*`})]}),(0,M.jsxs)(`div`,{className:`relative`,children:[m&&(0,M.jsx)(`span`,{className:`absolute left-3 top-1/2 -translate-y-1/2 text-secondary pointer-events-none`,"aria-hidden":`true`,children:m}),(0,M.jsx)(`input`,{id:e,name:t,type:n,value:r,onChange:e=>i(e.target.value),onBlur:a,onFocus:o,onKeyDown:s,placeholder:u,disabled:g,required:_,autoComplete:v,autoFocus:y,maxLength:b,min:x,max:S,step:C,"aria-label":l,"aria-invalid":E||void 0,"aria-describedby":[f?`${e}-error`:``,p?`${e}-success`:``,d?`${e}-helper`:``].filter(Boolean).join(` `)||void 0,className:k}),h&&(0,M.jsx)(`span`,{className:`absolute right-3 top-1/2 -translate-y-1/2 text-secondary pointer-events-none`,"aria-hidden":`true`,children:h})]}),O&&b&&(0,M.jsxs)(`p`,{className:`text-xs text-muted text-right mt-0.5`,children:[r.length,`/`,b]}),E&&(0,M.jsx)(`p`,{id:e?`${e}-error`:void 0,className:`text-xs text-danger mt-1`,role:`alert`,children:f}),D&&(0,M.jsx)(`p`,{id:e?`${e}-success`:void 0,className:`text-xs text-success mt-1`,children:p}),!E&&!D&&d&&(0,M.jsx)(`p`,{id:e?`${e}-helper`:void 0,className:`text-xs text-muted mt-1`,children:d})]})},tt=`Getting long. Consider breaking this into separate notes.`,nt=()=>(0,M.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 14 14`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.75`,strokeLinecap:`round`,"aria-hidden":`true`,children:[(0,M.jsx)(`line`,{x1:`3`,y1:`11`,x2:`11`,y2:`3`}),(0,M.jsx)(`line`,{x1:`7`,y1:`11`,x2:`11`,y2:`7`}),(0,M.jsx)(`line`,{x1:`11`,y1:`11`,x2:`11`,y2:`11`})]}),rt=({id:e,name:t,value:n,onChange:r,onFocus:i,onBlur:a,onKeyDown:o,onPaste:s,label:c,placeholder:l,helperText:u,errorText:d,rows:f=8,maxLength:p,softWarningLength:m,disabled:h=!1,required:g=!1,resize:_=!1,showCount:v=!1,clearable:y=!1,toolbar:b,textareaRef:x,className:S=``,fillHeight:C=!1,autoFocus:w=!1})=>{let[T,E]=(0,j.useState)(!1),[D,O]=(0,j.useState)(48),[k,ee]=(0,j.use
1State)(void 0),[A,te]=(0,j.useState)(!1),ne=(0,j.useRef)(null),re=(0,j.useRef)(null),N=(0,j.useRef)(null),P=x??ne;(0,j.useEffect)(()=>{let e=re.current;if(!e)return;let t=()=>O(e.offsetHeight+8);t();let n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[]);let F=!!d,I=n.length,L=p!==void 0&&I>=p,ie=m!==void 0&&I>m&&!L,R=v!==!1&&(v===!0||p!==void 0),ae=L?`var(--color-danger)`:ie?`var(--color-warning)`:`var(--color-text-muted)`,oe=F?`var(--color-danger)`:T?`var(--color-accent)`:`var(--color-border)`,z=()=>{let e=P.current;e&&(!b&&!R||e.selectionEnd===e.value.length&&(e.scrollTop=e.scrollHeight))},se=e=>{e.preventDefault();let t=P.current;if(!t)return;N.current={startY:e.clientY,startH:k??t.offsetHeight},te(!0);let n=e=>{if(!N.current)return;let t=e.clientY-N.current.startY;ee(Math.max(120,Math.min(640,N.current.startH+t)))},r=()=>{N.current=null,te(!1),document.removeEventListener(`mousemove`,n),document.removeEventListener(`mouseup`,r)};document.addEventListener(`mousemove`,n),document.addEventListener(`mouseup`,r)};return(0,M.jsxs)(`div`,{className:[`w-full`,C?`flex-1 flex flex-col min-h-0`:``,S].filter(Boolean).join(` `),children:[c&&(0,M.jsxs)(`label`,{htmlFor:e,className:`label`,children:[c,g&&(0,M.jsx)(`span`,{className:`text-danger ml-0.5`,"aria-hidden":`true`,children:`*`})]}),(0,M.jsx)(`div`,{style:{position:`relative`,border:`1px solid ${oe}`,borderRadius:_?`12px 12px 0 0`:12,overflow:`hidden`,backgroundColor:`var(--color-surface)`,boxShadow:T?`0 0 0 3px var(--color-focus-ring)`:`none`,transition:`border-color 0.15s, box-shadow 0.15s`,...C?{flex:1,display:`flex`,flexDirection:`column`,minHeight:0}:{}},children:(0,M.jsxs)(`div`,{style:{position:`relative`,...C?{flex:1,display:`flex`,flexDirection:`column`,minHeight:0}:{}},children:[(0,M.jsx)(`textarea`,{id:e,name:t,ref:P,value:n,onChange:e=>{r(e.target.value),requestAnimationFrame(z)},onBlur:()=>{E(!1),a?.()},onFocus:()=>{E(!0),i?.()},onKeyDown:o,onPaste:s,onKeyUp:z,onSelect:z,placeholder:l,rows:f,maxLength:p,disabled:h,required:g,autoFocus:w,"aria-invalid":F||void 0,"aria-describedby":[d?`${e}-error`:``,u?`${e}-helper`:``].filter(Boolean).join(` `)||void 0,className:`input`,style:{display:`block`,width:`100%`,border:`none`,outline:`none`,borderRadius:0,backgroundColor:`transparent`,boxShadow:`none`,resize:`none`,paddingTop:12,paddingRight:y&&I>0?28:14,paddingBottom:b||R?D:12,paddingLeft:14,height:k===void 0?void 0:`${k}px`,minHeight:_||C?120:void 0,maxHeight:_&&k===void 0?400:void 0,...C?{flex:1}:{}}}),y&&(0,M.jsx)(`button`,{type:`button`,onClick:()=>r(``),"aria-label":`Clear text`,style:{position:`absolute`,top:8,right:8,width:20,height:20,borderRadius:999,border:`none`,display:`flex`,alignItems:`center`,justifyContent:`center`,backgroundColor:`var(--color-border-subtle)`,color:`var(--color-text-muted)`,opacity:+(I>0),pointerEvents:I>0?`auto`:`none`,transition:`opacity 150ms`,cursor:`pointer`,zIndex:1},children:(0,M.jsxs)(`svg`,{width:`10`,height:`10`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2.5,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,M.jsx)(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`}),(0,M.jsx)(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`})]})}),(b||R)&&(0,M.jsxs)(`div`,{ref:re,style:{position:`absolute`,left:0,right:0,bottom:0,borderTop:`1px solid var(--color-border-subtle)`,backgroundColor:`var(--color-surface)`,padding:`6px 8px`,display:`flex`,alignItems:`center`,gap:4},children:[b,R&&(0,M.jsxs)(`span`,{style:{marginLeft:`auto`,paddingRight:4,fontSize:`0.7rem`,pointerEvents:`none`,userSelect:`none`,color:ae,lineHeight:1},"aria-hidden":`true`,children:[I,p===void 0?``:`/${p}`]})]}),_&&(0,M.jsx)(`div`,{onMouseDown:se,role:`separator`,"aria-label":`Drag to resize`,style:{position:`absolute`,right:1.5,bottom:1.5,zIndex:2,cursor:`ns-resize`,userSelect:`none`,color:A?`var(--color-accent)`:`var(--color-text-muted)`,display:`flex`,alignItems:`center`,justifyContent:`center`,padding:4,transition:`color 0.15s`},onMouseEnter:e=>{e.currentTarget.style.color=`var(--color-accent)`},onMouseLeave:e=>{A||(e.currentTarget.style.color=`var(--color-text-muted)`)},children:(0,M.jsx)(nt,{})})]})}),ie&&!L&&(0,M.jsx)(`p`,{className:`text-xs text-amber-600 mt-1`,children:tt}),F&&(0,M.jsx)(`p`,{id:e?`${e}-error`:void 0,className:`text-xs text-danger mt-1`,role:`alert`,children:d}),!F&&u&&(0,M.jsx)(`p`,{id:e?`${e}-helper`:void 0,className:`text-xs text-muted mt-1`,children:u})]})},it=({id:e,name:t,value:n,onChange:r,options:i,label:a,ariaLabel:o,helperText:s,errorText:c,disabled:l=!1,required:u=!1,placeholder:d,className:f=``,valueColor:p,variant:m=`field`,tone:h=`default`,size:g=`sm`})=>{let _=!!c,v=m===`inline`,y=v&&h===`accent`,b=y?`var(--color-accent)`:`var(--color-text-muted)`,x=v?[`appearance-none bg-transparent border rounded-lg cursor-pointer`,g===`md`?`text-sm`:`text-xs`,`font-medium pl-2.5 pr-7 py-1 transition-opacity duration-150 hover:opacity-75`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-amber-600`].join(` `):[`input`,_?`border-danger focus:ring-danger`:``].filter(
1Boolean).join(` `),S={color:p??`var(--color-text-secondary)`,borderColor:y?`var(--color-accent)`:`var(--color-border)`};return(0,M.jsxs)(`div`,{className:[v?`relative inline-flex items-center`:`w-full`,f].filter(Boolean).join(` `),children:[a&&(0,M.jsxs)(`label`,{htmlFor:e,className:`label`,children:[a,u&&(0,M.jsx)(`span`,{className:`text-danger ml-0.5`,"aria-hidden":`true`,children:`*`})]}),(0,M.jsxs)(`select`,{id:e,name:t,value:n,onChange:e=>r(e.target.value),disabled:l,required:u,"aria-label":o,"aria-invalid":_||void 0,"aria-describedby":[c?`${e}-error`:``,s?`${e}-helper`:``].filter(Boolean).join(` `)||void 0,className:x,style:v?S:p?{color:p,fontWeight:600}:void 0,children:[d&&(0,M.jsx)(`option`,{value:``,disabled:!0,children:d}),i.map(e=>(0,M.jsx)(`option`,{value:e.value,disabled:e.disabled,style:e.color?{color:e.color}:void 0,children:e.label},e.value))]}),v&&(0,M.jsx)(`svg`,{"aria-hidden":`true`,className:`pointer-events-none absolute right-2.5`,width:`10`,height:`10`,viewBox:`0 0 24 24`,fill:`none`,stroke:b,strokeWidth:3,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,M.jsx)(`polyline`,{points:`6 9 12 15 18 9`})}),_&&(0,M.jsx)(`p`,{id:e?`${e}-error`:void 0,className:`text-xs text-danger mt-1`,role:`alert`,children:c}),!_&&s&&(0,M.jsx)(`p`,{id:e?`${e}-helper`:void 0,className:`text-xs text-muted mt-1`,children:s})]})},at=({id:e,checked:t,onChange:n,label:r,helperText:i,disabled:a=!1,className:o=``})=>(0,M.jsxs)(`div`,{className:[`flex flex-col gap-1`,o].filter(Boolean).join(` `),children:[(0,M.jsxs)(`label`,{htmlFor:e,className:[`flex items-center gap-2 cursor-pointer`,a?`opacity-50 cursor-not-allowed`:``].filter(Boolean).join(` `),children:[(0,M.jsx)(`input`,{id:e,type:`checkbox`,checked:t,onChange:e=>n(e.target.checked),disabled:a,className:`w-4 h-4 rounded accent-amber-600 cursor-pointer disabled:cursor-not-allowed flex-shrink-0`}),(0,M.jsx)(`span`,{className:`text-sm text-primary`,children:r})]}),i&&(0,M.jsx)(`p`,{className:`text-xs text-muted pl-6`,children:i})]}),ot=({label:e,htmlFor:t,required:n=!1,errorText:r,helperText:i,children:a,className:o=``})=>{let s=!!r;return(0,M.jsxs)(`div`,{className:[`w-full`,o].filter(Boolean).join(` `),children:[e&&(0,M.jsxs)(`label`,{htmlFor:t,className:`label`,children:[e,n&&(0,M.jsx)(`span`,{className:`text-danger ml-0.5`,"aria-hidden":`true`,children:`*`})]}),a,s&&(0,M.jsx)(`p`,{className:`text-xs text-danger mt-1`,role:`alert`,children:r}),!s&&i&&(0,M.jsx)(`p`,{className:`text-xs text-muted mt-1`,children:i})]})},st=({onSave:e,onCancel:t,saving:n=!1,saveDisabled:r=!1,saveLabel:i=`Save`,destructive:a,className:o=``})=>(0,M.jsxs)(`div`,{className:`flex items-center gap-3 pt-1 ${a?`justify-between`:`justify-end`} ${o}`,children:[a?(0,M.jsx)(`div`,{className:`flex items-center`,children:a}):null,(0,M.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,M.jsx)(L,{variant:`secondary`,size:`sm`,onClick:t,disabled:n,children:`Cancel`}),(0,M.jsx)(L,{variant:`primary`,size:`sm`,onClick:e,disabled:n||r,loading:n,children:i})]})]}),ct=({label:e,hint:t,onClick:n,className:r=``})=>(0,M.jsxs)(`button`,{type:`button`,onClick:n,className:`w-full rounded-xl border-2 border-dashed p-4 text-left transition-colors duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-amber-600 ${r}`,style:{borderColor:`var(--color-border)`},onMouseEnter:e=>e.currentTarget.style.borderColor=`var(--color-accent)`,onMouseLeave:e=>e.currentTarget.style.borderColor=`var(--color-border)`,children:[(0,M.jsx)(`p`,{className:`text-sm font-medium`,style:{color:`var(--color-text-secondary)`},children:e}),t&&(0,M.jsx)(`p`,{className:`text-xs mt-0.5`,style:{color:`var(--color-text-muted)`},children:t})]}),lt=({children:e,className:t=``})=>(0,M.jsx)(`div`,{className:[`px-4 py-3`,t].filter(Boolean).join(` `),children:e}),ut=({children:e,className:t=``,hover:n=!1,onClick:r,dataTour:i})=>(0,M.jsx)(`div`,{className:[n?`card-hover`:`card`,t].filter(Boolean).join(` `),"data-tour":i,onClick:r,role:r?`button`:void 0,tabIndex:r?0:void 0,onKeyDown:r?e=>{(e.key===`Enter`||e.key===` `)&&r()}:void 0,children:e}),dt={sm:`max-w-sm`,md:`max-w-md`,lg:`max-w-lg`,xl:`max-w-2xl`,"2xl":`max-w-4xl`},ft=({open:e,onClose:t,title:n,children:r,size:i=`md`,className:a=``,dialogId:o=`modal
1-title`,contentMaxHeight:s,headerVariant:c=`default`})=>{let l=(0,j.useRef)(null),u=(0,j.useRef)(t);return u.current=t,A(e),(0,j.useEffect)(()=>{if(!e)return;let t=l.current;if(!t)return;let n=document.activeElement,r=()=>Array.from(t.querySelectorAll(`button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])`)),i=r();i.length>0?i[0].focus():t.focus();let a=e=>{if(e.key===`Escape`){u.current();return}if(e.key===`Tab`){let t=r();if(t.length===0)return;let n=t[0],i=t[t.length-1];e.shiftKey?document.activeElement===n&&(e.preventDefault(),i.focus()):document.activeElement===i&&(e.preventDefault(),n.focus())}};return document.addEventListener(`keydown`,a),()=>{document.removeEventListener(`keydown`,a),n?.focus()}},[e]),e?(0,M.jsxs)(`div`,{className:`flex fixed inset-0 z-50 justify-center items-end p-0 md:items-center md:p-4`,children:[(0,M.jsx)(`div`,{className:`absolute inset-0 bg-black/50 animate-fade-in`,"aria-hidden":`true`,onClick:t}),(0,M.jsxs)(`div`,{ref:l,role:`dialog`,"aria-modal":`true`,"aria-labelledby":o,tabIndex:-1,className:[`relative flex flex-col w-full max-h-[92dvh] rounded-t-2xl animate-slide-up focus:outline-none`,`md:max-h-none md:rounded-2xl md:animate-scale-in`,dt[i],a].filter(Boolean).join(` `),style:{backgroundColor:`var(--color-surface)`,boxShadow:`0 16px 48px var(--shadow-modal)`},children:[(0,M.jsx)(`span`,{"aria-hidden":`true`,className:`block flex-none mx-auto mt-2.5 w-9 h-1 rounded-full md:hidden`,style:{backgroundColor:`var(--color-border)`}}),(0,M.jsxs)(`div`,{className:[`relative flex flex-none justify-between items-center px-5 pt-4 pb-3 md:pt-5`,c===`banner`?`mt-2 md:mt-0 md:rounded-t-2xl`:`border-b`].join(` `),style:c===`banner`?{backgroundColor:`var(--color-banner)`}:{borderColor:`var(--color-border)`},children:[(0,M.jsx)(`h2`,{id:o,className:`text-heading-3`,style:{color:c===`banner`?`var(--color-banner-on)`:`var(--color-text)`},children:n}),(0,M.jsx)(`button`,{type:`button`,onClick:t,"aria-label":`Close`,className:`w-11 h-11 flex items-center justify-center rounded-lg transition-colors active:scale-95 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-amber-600`,style:{color:c===`banner`?`var(--color-banner-muted)`:`var(--color-text-muted)`},onMouseEnter:e=>{e.currentTarget.style.backgroundColor=c===`banner`?`var(--color-banner-surface)`:`var(--color-border-subtle)`,e.currentTarget.style.color=c===`banner`?`var(--color-banner-on)`:`var(--color-text)`},onMouseLeave:e=>{e.currentTarget.style.backgroundColor=`transparent`,e.currentTarget.style.color=c===`banner`?`var(--color-banner-muted)`:`var(--color-text-muted)`},children:(0,M.jsxs)(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,M.jsx)(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`}),(0,M.jsx)(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`})]})}),c===`banner`&&(0,M.jsx)(`span`,{"aria-hidden":`true`,className:`absolute left-0 right-0 bottom-0 h-0.5`,style:{background:`linear-gradient(90deg, var(--color-banner-gild-1), var(--color-banner-gild-2) 45%, transparent 96%)`}})]}),(0,M.jsx)(`div`,{className:`overflow-y-auto flex-1 px-5 py-4 min-h-0`,style:s?{maxHeight:s}:void 0,children:r})]})]}):(0,M.jsx)(M.Fragment,{})},pt={underline:{root:`gap-6 border-[color:var(--color-border)]`,tab:`pt-1 pb-2.5 border-b-2 -mb-px text-sm font-medium`,activeTab:`border-amber-600 text-[color:var(--color-text)]`,idleTab:`border-transparent text-[color:var(--color-text-muted)]`,badge:`text-xs px-1.5 py-0.5 rounded-full bg-[color:var(--color-border-subtle)] text-[color:var(--color-text-muted)]`}},mt=({options:e,value:t,onChange:n,layout:r=`underline`,className:i=``})=>{if(r===`pills`)return(0,M.jsx)(`div`,{className:[`flex p-1 rounded-xl gap-1 overflow-x-auto overflow-y-hidden scroll-x-thin flex-nowrap`,i].filter(Boolean).join(` `),style:{backgroundColor:`var(--color-border-subtle)`},role:`tablist`,children:e.map(e=>{let r=e.value===t;return(0,M.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":r,disabled:e.disabled,onClick:()=>!e.disabled&&n(e.value),className:[`flex items-center justify-center gap-1.5 px-3 py-2 rounded-lg text-sm font-medium transition-colors duration-150 flex-1 flex-shrink-0 whitespace-nowrap`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-amber-600 focus-visible:ring-offset-1`,`disabled:opacity-40 disabled:cursor-not-allowed`].join(` `),style:{backgroundColor:r?`var(--color-surface)`:`transparent`,color:r?`var(--color-text)`:`var(--color-text-muted)`,boxShadow:r?`var(--shadow-card)`:`none`},children:[e.icon&&(0,M.jsx)(`span`,{"aria-hidden":`true`,children:e.icon}),e.label,e.badge!==void 0&&(0,M.jsx)(`span`,{className:`text-xs px-1.5 py-0.5 rounded-full`,style:{backgroundColor:r?`var(--color-surface-highlight)`:`var(--color-border)`,color:r?`inherit`:`var(--color-text-muted)`},children:e.badge})]},e.value)})});let a=pt[r];return(0,M.jsx)(`div`,{className:[`flex border-b overflow-x-auto overflow-y-hidden scroll-x-thin flex-nowrap`,a.root,i].filter(
1Boolean).join(` `),role:`tablist`,children:e.map(e=>{let r=e.value===t;return(0,M.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":r,disabled:e.disabled,onClick:()=>!e.disabled&&n(e.value),className:[`flex items-center gap-1.5 transition-colors duration-150 flex-shrink-0 whitespace-nowrap`,a.tab,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-amber-600 focus-visible:ring-offset-1`,`disabled:opacity-40 disabled:cursor-not-allowed`,r?a.activeTab:a.idleTab].join(` `),children:[e.icon&&(0,M.jsx)(`span`,{"aria-hidden":`true`,children:e.icon}),e.label,e.badge!==void 0&&(0,M.jsx)(`span`,{className:a.badge,style:e.badgeTone===`hot`?{color:`var(--color-danger)`,backgroundColor:`var(--color-danger-light)`}:void 0,children:e.badge})]},e.value)})})},ht=({pulse:e=!1,size:t=15,className:n=``})=>(0,M.jsxs)(`span`,{className:[`relative inline-flex items-center justify-center flex-shrink-0`,n].filter(Boolean).join(` `),style:{width:t,height:t},children:[e&&(0,M.jsx)(`span`,{"aria-hidden":`true`,className:`absolute rounded-full animate-pulse motion-reduce:animate-none`,style:{left:`50%`,top:`42%`,transform:`translate(-50%, -50%)`,width:t*.95,height:t*.95,backgroundColor:`var(--color-accent)`,filter:`blur(4px)`,opacity:.85}}),(0,M.jsxs)(`svg`,{width:t,height:t,viewBox:`0 0 24 24`,fill:`none`,stroke:`var(--color-accent)`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,className:`relative`,children:[(0,M.jsx)(`path`,{d:`M15.09 14c.18-.98.65-1.74 1.41-2.5A4.65 4.65 0 0 0 18 8 6 6 0 0 0 6 8c0 1 .23 2.23 1.5 3.5C8.35 12.26 8.82 13.02 9 14`,fill:e?`var(--color-accent)`:`none`}),(0,M.jsx)(`path`,{d:`M9 18h6`}),(0,M.jsx)(`path`,{d:`M10 22h4`})]})]}),gt=({onClick:e,pulse:t=!1})=>(0,M.jsxs)(`button`,{type:`button`,onClick:e,className:[`inline-flex items-center gap-2 md:gap-1.5`,`font-sans text-sm md:text-xs font-medium`,`py-1.5 md:py-0`,`transition-opacity duration-150`,`hover:opacity-70 active:opacity-50`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-amber-600 rounded`].join(` `),style:{color:t?`var(--color-accent)`:`var(--color-text-muted)`},"aria-label":`About this page`,children:[(0,M.jsx)(ht,{pulse:t}),(0,M.jsx)(`span`,{children:`About this page`})]}),_t={dashboard:{pageId:`dashboard`,title:`About your dashboard`,whatThisIs:`Your daily snapshot. Everything that matters right now, in one place.`,sections:[{heading:`Activity and focus`,body:`Today's focus cards surface the most urgent thing. An upcoming interview, a job that's gone quiet, a follow-up that's overdue. They're ordered by priority so you always know what needs attention first.`},{heading:`Active roles`,body:`The roles in motion right now: interviews scheduled, stages advancing, prep underway. They surface here on their own.`},{heading:`Recent notes and contacts`,body:`The latest activity across all jobs. Notes you wrote, contacts you added, follow-ups you set.`},{heading:`Skills`,body:`Skills you're actively leveling. Progress updates show up here as you practice.`}],proTips:[`The focus cards prioritize interviews, then stale jobs, then follow-ups. They're not random.`,`Check in regularly. It takes 10 seconds and helps you track your mental state across the search.`]},job:{pageId:`job`,title:`About this job`,whatThisIs:`One workspace for a single role. Research, notes, contacts, and prep all live on the tabs here.`,sections:[{heading:`Overview`,body:`The stage, the details, and a pre-apply checklist that lines up what to do before you send your application.`},{heading:`Company`,body:`Research on the company, plus a graded report card on Pro. Free shows what the posting reveals and a checklist for digging deeper.`},{heading:`Notes and Contacts`,body:`Keep every call and detail tied to this job, and track the people you talk to. The Contacts tab helps you find a connection at the company and reach out.`},{heading:`Prep`,body:`Run the role analyzer to see how you stack up, then work the question bank and your answers. Pro adds a multi-day plan built around this role.`}],proTips:[`Every job carries its own prep: the company report card, the prep plan, and the prep path live on the job page.`,`The more notes you keep here, the sharper your prep gets.`]},jobs:{pageId:`jobs`,title:`About Jobs`,whatThisIs:`Every role you're tracking. Saved, applied, interviewing, and done.`,sections:[{heading:`Tabs`,body:`A
1ctive = jobs on your board. Applied = everything you've sent out. Saved = bookmarked for later. Rejected = closed roles.`},{heading:`Job cards`,body:`Each card shows the company, role, and stage, with quick links to notes, contacts, prep, and a pre-apply checklist.`},{heading:`Adding jobs`,body:`Use Add Job or paste a job description to pull out the details. Both work. Parsing pulls the role, company, location, and requirements so you don't have to type them.`},{heading:`Active roles`,body:`Jobs move here on their own when something is happening: an interview scheduled, a stage past applied, or prep started. They feed your daily focus.`},{heading:`CSV export`,body:`Export your active and applied jobs as a CSV. Useful for tracking across spreadsheets or sharing with a career coach.`},{heading:`Comparing jobs`,body:`Use Compare to put roles side by side. Compare active jobs while you're deciding where to focus, or compare offers on salary, culture, and growth when they come in.`}],proTips:[`Jobs in motion show up on your dashboard and feed your prep briefs.`,`The strength score reflects how complete your prep is, not how good the job is.`],proFeatures:[`Prep up to 8 roles at once (Core)`,`Prep up to 12 roles at once (Pro)`,`Prep up to 20 roles at once (Pro Plus)`]},notes:{pageId:`notes`,title:`About Notes`,whatThisIs:`Your notes, attached to jobs or standing alone.`,sections:[{heading:`Note types`,body:`General for anything. Interview debrief for post-call thoughts. Company research for what you've learned. Follow up for action items. Personal for private thoughts and gut feelings.`},{heading:`Quick Format`,body:`Cleans up raw notes into structured sections without changing your words. Works best on messy post-call notes. It won't rewrite clean notes.`},{heading:`Linking to jobs`,body:`Notes attached to a job show up on that job's detail page and feed into prep briefs. Unlinked notes live on their own.`}],proTips:[`Personal notes are private context. Salary thoughts, gut feelings, concerns. They stay out of AI features.`,`Quick Format works best on messy post-call notes. It won't rewrite clean notes.`],proFeatures:[]},contacts:{pageId:`contacts`,title:`About Contacts`,whatThisIs:`People connected to your search. Recruiters, hiring managers, referrals.`,sections:[{heading:`Adding contacts`,body:`Add manually or from a job's detail page. Either way, the contact gets linked to that job.`},{heading:`Follow-up tracking`,body:`Set a follow-up date and the contact shows as due so nobody falls through the cracks. Email reminders for those dates are a Pro feature.`},{heading:`Referrals`,body:`Track referral asks on the Referrals tab. Mark each one asked, agreed, submitted, declined, or no response so you know who's still in play.`},{heading:`Job linking`,body:`Contacts linked to a job appear on that job's contacts tab. One contact can be linked to multiple jobs.`},{heading:`Card shortcuts`,body:`Each card's footer links straight to a contact's email, phone, and LinkedIn. Once you've run research on someone, a Research shortcut shows up there too.`}],proTips:[`Set follow-up dates on every contact you talk to. Due dates surface here so nothing slips.`],proFeatures:[`Email reminders (Core)`]},prep:{pageId:`prep`,title:`About Prep`,whatThisIs:`Prep tools for every stage. Flashcards, behavioral and technical questions, quizzes, study guides, and per-job plans.`,sections:[{heading:`Flashcards`,body:`Spaced repetition decks. Cards you miss come back sooner. Create from job descriptions or pick a topic.`},{heading:`Behavioral questions`,body:`Practice with the STAR, SOAR, and PAR frameworks and track your confidence. Your weakest areas surface automatically so you spend time where it counts.`},{heading:`Technical questions`,body:`Work through the technical question bank for your field. Mark what you know and what needs another pass.`},{heading:`Quizzes`,body:`Timed knowledge tests across categories. Scores track over time so you can see improvement.`},{heading:`Study guides and plans`,body:`Study guides pull a whole topic into one read, built from your question bank. Built for you sits right next to it and lines up practice for what your search says to work on next, behavioral or technical. Both are Core. The per-job AI prep plan, which writes a day-by-day plan from that role's notes and your weak spots, is Pro.`}],proTips:[`Prep plans pull from everything you've added to a job. Notes, contacts, stage changes. More context means 
1sharper output.`,`Flashcard spacing is automatic. Just review what's due each day.`],proFeatures:[`Study guides (Core)`,`Built for you: practice picked from your signals (Core)`,`AI prep plan, per job (Pro)`]},skills:{pageId:`skills`,title:`About Skills`,whatThisIs:`Every skill you have, and proof of the ones you've earned.`,sections:[{heading:`Adding skills`,body:`Add a skill by name and PrepVault does the rest. It fixes the spelling, files it under the right category, and checks whether it has practice content. "React.js" and "React" count as the same skill here and in job matching.`},{heading:`Earning levels`,body:`Levels are earned, never self-rated. A readiness meter fills as you study and unlocks a 15-question exam at 70%. Pass and you hold that level, with the date you earned it. Fail and the exam reopens in 48 hours. Already know a skill? You get one placement exam to prove it. Fail that and you start at Beginner with nothing lost.`,link:{label:`How leveling works`,href:`/help/how-skill-leveling-works`}},{heading:`How skills feed prep`,body:`Your skill list gets matched against every job description you analyze. Gaps show up in your prep brief.`}],proTips:[`The meter only counts finished sessions. A quiz you abandon halfway doesn't move it.`,`Stuck below 70%? Open the skill and check which signal bar has the most room. That study mode is your fastest path to the exam.`],proFeatures:[`Skill leveling, exams, and placement tests (Core). Tags and job matching are free.`]},metrics:{pageId:`metrics`,title:`About Metrics`,whatThisIs:`Numbers behind your search. Response rates, activity trends, and health score.`,sections:[{heading:`Search health`,body:`A composite score from five factors: velocity, response rate, prep activity, pipeline health, and consistency.`},{heading:`Pipeline funnel`,body:`How your applications progress through stages. See where things stall and where they move.`},{heading:`Application velocity`,body:`How often and when you're applying. Patterns show up over time.`},{heading:`Prep coverage and context depth`,body:`How well-prepped your active jobs are and how much context you've added to each. Thin spots are easy to spot and fix before they cost you.`},{heading:`Follow-through`,body:`Whether you send thank-you notes and write debriefs after interviews. The small stuff that compounds.`},{heading:`Rejection patterns`,body:`Where roles tend to fall off. If the same stage keeps ending things, that tells you where to put your prep.`}],proTips:[`The health score isn't about volume. A search with 5 well-prepped applications can score higher than one with 50 spray-and-pray apps.`]},tips:{pageId:`tips`,title:`About Tips`,whatThisIs:`Short, practical reads about the job search. Save the ones worth keeping.`,sections:[{heading:`How tips work`,body:`Open a tip to read it and it gets marked as read. Save the ones you want to come back to. They're practical, not motivational, and each one covers something specific you can act on.`}]},resume:{pageId:`resume`,title:`About your resumes`,whatThisIs:`Save multiple versions of your resume, compare them against job descriptions, and download formatted copies.`,sections:[{heading:`Resume cards`,body:`Each card is a saved version of your resume. Click one to view it, click an empty slot to add a new one. The number of slots depends on your plan.`},{heading:`Active resume`,body:`The active resume is what gets compared against job descriptions for keyword matching and what feeds into prep plans. Toggle it on any card to switch which version is active.`},{heading:`Inline editing`,body:`Click Edit below the text display to make changes directly. Save when you're done. No popups, no extra steps.`},{heading:`Summary editing`,body:`Write a reusable summary once and keep it here. Paste it into job sites, applications, or anywhere you need a short pitch, without rewriting it each time.`},{heading:`Job history from your resume`,body:`PrepVault pulls your work history out of your resume and keeps it here. It's the starting point when you tune a resume against a job's ATS score or add new skills, and you can edit the resume directly too.`},{heading:`Uploading a file`,body:`Click an empty resume slot to add a new one. You can upload a PDF or DOCX and the text gets extracted automatically. You can also paste plain text. Either way, the formatting gets cleaned up on import.`},{heading:`Downloading as DOCX or PDF`,body:`Click Download to pick a template and save your resume as a Word document or a PDF. Three styles are available: Traditional (serif, centered header), Modern (blue accents, sans-serif), and Minimal (maximum whitespace). Section order adjusts based on your profession.`},{heading:`Keyword matching`,body:`Your active resume gets compared against each job description on your board. Matched skills, gaps, and a fit score show up on the job's prep tab. The more complete your resume, the more accurate the match.`},{heading:`Skill import`,body:`Click Import Skills below the text display to pull skills from your resume into your profile. Skills feed into prep recommendations and job matching.`}],proTips:[`Keep one general-purpose resume and create targeted versions for specific roles. Name them clearly: "Frontend focu
1sed", "Management track", "Startup pitch."`,`Set the most relevant version as active before running keyword matching on a job. The match score only reflects the active resume.`,`Build a library over time. A targeted version for each kind of role beats one resume you keep rewriting.`],proFeatures:[`Up to 4 saved resumes (Core)`,`Up to 6 saved resumes (Pro)`,`Up to 8 saved resumes (Pro Plus)`]},profile:{pageId:`profile`,title:`About your profile`,whatThisIs:`The master copy of your professional record. Fill it once, paste it into every application, and every prep brief gets sharper for it.`,sections:[{heading:`The header`,body:`Name, title, location, and where you're at in your search. The Edit button up here owns exactly those facts. Seniority also tunes question difficulty across practice.`},{heading:`About and Work History`,body:`Your About paragraph and roles, pulled from your primary resume. Edit them here or on the Resume tab, same text either way. The Copy buttons exist because every job site asks for these.`},{heading:`Your field`,body:`Most professions get a section for the details hiring managers look for first: practice areas for attorneys, grade levels for teachers, specialties for nurses, quota for sales. The credentials card adapts too, bar admissions, licenses, or certifications depending on your field.`},{heading:`Education and skills`,body:`Education entries work like a resume section: add, edit, remove in place. Skills preview here and live fully on the Skills tab.`},{heading:`What you're looking for`,body:`Salary, location, and the rest of your search criteria. These light up green in job comparisons when a role matches. They only show fields relevant to your profession.`},{heading:`Profile strength`,body:`Counts your completed sections and offers the next one. Every section it tracks feeds your prep briefs, so filling it out pays you back.`}],proTips:[`Add your LinkedIn and portfolio. They sit in the Links card, one tap to open when an application asks for them.`,`The Copy buttons on About and Work History are the fastest way through Workday-style application forms.`]},timeline:{pageId:`timeline`,title:`About Timeline`,whatThisIs:`A chronological record of everything across all your jobs.`,sections:[{heading:`What gets logged`,body:`Applications, stage changes, notes, interviews, contacts, and check-ins. Every meaningful action across your search.`},{heading:`Using the timeline`,body:`Scroll through to see your full search history in one view. Filter by type to focus on what matters.`}]},blog:{pageId:`blog`,title:`About the blog`,whatThisIs:`Articles about job searching, written for people in the middle of one.`,sections:[{heading:`Articles`,body:`Practical reads covering your rights, negotiation, red flags, layoff support, and standing out. Each one is short and specific.`},{heading:`Featured first`,body:`The featured set rotates as you read. Use the topic chips to jump straight to what you need.`}],proTips:[`New articles show up as the site grows. Bookmark the page if you want to come back.`]},help:{pageId:`help`,title:`About the help center`,whatThisIs:`Walkthroughs for every part of PrepVault, with screenshots of the real thing.`,sections:[{heading:`Feature guides`,body:`Step-by-step for adding jobs, resume tools, prep briefs, study guides, and the browser extension. Check these when you're trying something new.`},{heading:`When something looks wrong`,body:`There are guides on what to do when PrepVault gets something wrong and how to send feedback that lands.`}],proTips:[`The lightbulb links scattered through the app jump straight to the guide for whatever you are looking at.`]},jobPrep:{pageId:`jobPrep`,title:`About this prep hub`,whatThisIs:`Everything to study for one role, in one place. What the job asks for, practice scoped to it, and a study guide built from its skills.`,sections:[{heading:`What to study`,body:`Every skill this role asks for, technical and behavioral, pulled from the job description, your notes, and your resume. Tap any skill to focus on it, then drill the technical ones as flashcards, a quiz, or the question bank, and the behavioral ones as situational questions. Each session is scoped to what you picked, not the whole bank.`},{heading:`Study guides`,body:`Build a study guide from this role's skills in one click. It pulls explanations, key concepts, common mistakes, and quick recall for each topic into one readable page. Rebuild any time to refresh it from your latest analysis. Study guides are a Pro feature.`},{heading:`Interviews`,body:`Log the rounds you have scheduled or done for this role so your prep and timeline stay tied to the real schedule.`},{heading:`Prep brief`,body:`Your prep brief for this role, when you have one. A focused rundown of what to expect and how to position yourself.`}],proTips:[`The skills here read your notes too. Drop a post-interview note about what they asked, regenerate the role analysis, and it folds in.`,`In a study guide, fewer topics go deeper and more topics keep each one tight. Pick the depth that fits your timeline.`],proFeatures:[`Study guides (Core)`]},goals:{pageId:`goals`,title:`About Goals`,whatThisIs:`Set a career target and weekly action goals to stay on track.`,sections:[{heading:`Career goal`,body:`Your main target. What role you're going for, what timeline, and which milestones to hit. Progress tracks automatically from your activity.`},{heading:`Action targets`,body:`Smaller, concrete goals that reset on a weekly or monthly cadence. Apply to 5 jobs, write 3 notes, practice 4 times. Pick what matters and track it.`}],proTips:[`Start with 2-3 action goals. Adding too many dilutes your focus.`]}},vt=({open:e,onClose:t,pageId:n})=>
1{let r=(0,j.useRef)(null),[i,a]=(0,j.useState)(!1);(0,j.useEffect)(()=>{let e=()=>a(window.innerWidth<768);return e(),window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[]),(0,j.useEffect)(()=>{if(!e)return;let n=e=>{e.key===`Escape`&&t()};return document.addEventListener(`keydown`,n),()=>document.removeEventListener(`keydown`,n)},[e,t]),(0,j.useEffect)(()=>{e&&!i&&r.current&&r.current.focus()},[e,i]);let o=_t[n];return i?(0,M.jsx)(U,{open:e,onClose:t,title:o?.title??`Page guide`,dialogId:`page-guide-sheet`,children:o?(0,M.jsx)(yt,{guide:o}):(0,M.jsx)(`p`,{className:`font-sans text-sm`,style:{color:`var(--color-text-secondary)`},children:`No guide available for this page.`})}):(0,M.jsx)(M.Fragment,{children:(0,M.jsxs)(`div`,{ref:r,role:`complementary`,"aria-label":`Page guide`,tabIndex:-1,className:`fixed top-0 right-0 bottom-0 w-96 z-40 flex flex-col focus:outline-none`,style:{backgroundColor:`var(--color-surface)`,borderLeft:`1px solid var(--color-border)`,boxShadow:e?`var(--shadow-sheet)`:`none`,transform:e?`translateX(0)`:`translateX(100%)`,transition:`transform 200ms ease-out`,pointerEvents:e?`auto`:`none`},children:[(0,M.jsxs)(`div`,{className:`flex items-center justify-between px-5 pt-5 pb-4 border-b flex-shrink-0`,style:{borderColor:`var(--color-border)`},children:[(0,M.jsx)(`h2`,{className:`font-display text-lg`,style:{color:`var(--color-bronze)`},children:o?.title??`Page guide`}),(0,M.jsx)(`button`,{type:`button`,onClick:t,"aria-label":`Close page guide`,className:`w-9 h-9 flex items-center justify-center rounded-lg transition-opacity duration-150 hover:opacity-70 active:scale-95 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-amber-600`,style:{color:`var(--color-text-muted)`},children:(0,M.jsxs)(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,M.jsx)(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`}),(0,M.jsx)(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`})]})})]}),(0,M.jsx)(`div`,{className:`overflow-y-auto flex-1 px-5 py-5`,children:o?(0,M.jsx)(yt,{guide:o}):(0,M.jsx)(`p`,{className:`font-sans text-sm`,style:{color:`var(--color-text-secondary)`},children:`No guide available for this page.`})})]})})},yt=({guide:e})=>(0,M.jsxs)(`div`,{className:`space-y-6`,children:[(0,M.jsx)(`p`,{className:`font-sans text-sm`,style:{color:`var(--color-text-secondary)`},children:e.whatThisIs}),e.sections.map((e,t)=>(0,M.jsxs)(`div`,{children:[(0,M.jsx)(`h3`,{className:`font-display text-base mb-1.5`,style:{color:`var(--color-text)`},children:e.heading}),(0,M.jsx)(`p`,{className:`font-sans text-sm leading-relaxed`,style:{color:`var(--color-text-secondary)`},children:e.body}),e.steps&&e.steps.length>0&&(0,M.jsx)(`ol`,{className:`mt-2 ml-4 space-y-1 list-decimal font-sans text-sm`,style:{color:`var(--color-text-secondary)`},children:e.steps.map((e,t)=>(0,M.jsx)(`li`,{children:e},t))}),e.link&&(0,M.jsxs)(`a`,{href:e.link.href,className:`inline-flex items-center gap-1 mt-2 font-sans text-sm font-medium transition-opacity duration-150 hover:opacity-70 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-amber-600 rounded`,style:{color:`var(--color-accent)`},children:[e.link.label,(0,M.jsx)(`svg`,{width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2.5,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:(0,M.jsx)(`polyline`,{points:`9 18 15 12 9 6`})})]})]},t)),e.proTips&&e.proTips.length>0&&(0,M.jsxs)(`div`,{className:`rounded-lg px-4 py-3.5`,style:{backgroundColor:`var(--color-accent-light)`},children:[(0,M.jsx)(`p`,{className:`font-sans text-xs font-semibold uppercase tracking-wide mb-2`,style:{color:`var(--color-accent)`},children:`Tips`}),(0,M.jsx)(`ul`,{className:`space-y-2`,children:e.proTips.map((e,t)=>(0,M.jsx)(`li`,{className:`font-sans text-sm leading-relaxed`,style:{color:`var(--color-text)`},children:e},t))})]}),e.proFeatures&&e.proFeatures.length>0&&(0,M.jsxs)(`div`,{children:[(0,M.jsx)(`p`,{className:`font-sans text-xs font-semibold uppercase tracking-wide mb-2`,style:{color:`var(--color-text-muted)`},children:`Pro features on this page`}),(0,M.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:e.proFeatures.map((e,t)=>(0,M.jsxs)(`span`,{className:`inline-flex items-center gap-1 font-sans text-xs px-2.5 py-1 rounded-full`,style:{backgroundColor:`var(--color-accent-light)`,color:`var(--color-accent)`},children:[(0,M.jsx)(`svg`,{width:`10`,height:`10`,viewBox:`0 0 24 24`,fill:`currentColor`,"aria-hidden":`true`,children:(0,M.jsx)(`path`,{d:`M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z`})}),e]},t))})]})]}),bt=`pv_guide_seen_`,xt=e=>
1{let[t]=(0,j.useState)(()=>{if(!e)return!1;try{return!localStorage.getItem(bt+e)}catch{return!1}});return{pulse:t,markOpened:()=>{if(e)try{localStorage.setItem(bt+e,`1`)}catch{}}}},St=({title:e,subtitle:t,titleMeta:n,pageId:r,showControls:i=!0})=>{let[a,o]=(0,j.useState)(!1),[s,c]=(0,j.useState)(!1),{pulse:l,markOpened:u}=xt(r);return(0,M.jsxs)(`div`,{className:`relative mb-5`,children:[(0,M.jsx)(`div`,{className:`absolute bottom-0 left-0 right-0`,style:{height:`2px`,backgroundColor:`var(--color-bronze)`,boxShadow:`var(--header-border-glow)`,borderRadius:`0 0 8px 8px`,WebkitMaskImage:`linear-gradient(90deg, black 0%, black 60%, transparent 99%)`,maskImage:`linear-gradient(90deg, black 0%, black 60%, transparent 99%)`},"aria-hidden":`true`}),(0,M.jsxs)(`div`,{className:`relative px-1 pt-6 pb-8 md:pt-8 md:pb-10`,children:[(0,M.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-3 gap-y-2`,children:[(0,M.jsx)(`h1`,{className:`text-display tracking-tight`,style:{color:`var(--color-bronze)`},children:e}),n&&(0,M.jsx)(`span`,{className:`rounded-full border px-2.5 py-0.5 text-overline`,style:{borderColor:`var(--color-accent-border)`,backgroundColor:`var(--color-accent-tint)`},children:n})]}),t&&(0,M.jsx)(`p`,{className:`text-body-small mt-2.5 max-w-lg`,style:{color:`var(--color-text-secondary)`},children:t}),i&&(0,M.jsx)(`div`,{className:`flex items-center gap-3 mt-3`,children:(0,M.jsx)(gt,{pulse:l&&!s,onClick:()=>{u(),c(!0),o(!a)}})})]}),r&&(0,M.jsx)(vt,{open:a,onClose:()=>o(!1),pageId:r})]})},Ct=({size:e=16,variant:t=`gradient`,className:n=``})=>{let r=(0,j.useId)(),i=t===`gradient`?`url(#${r})`:`currentColor`;return(0,M.jsxs)(`svg`,{width:e,height:e,viewBox:`0 0 24 24`,fill:`none`,"aria-hidden":`true`,focusable:`false`,className:n,children:[t===`gradient`&&(0,M.jsx)(`defs`,{children:(0,M.jsxs)(`linearGradient`,{id:r,x1:`2`,y1:`2`,x2:`22`,y2:`22`,gradientUnits:`userSpaceOnUse`,children:[(0,M.jsx)(`stop`,{offset:`0%`,stopColor:`var(--color-ai)`}),(0,M.jsx)(`stop`,{offset:`100%`,stopColor:`var(--color-ai-2)`})]})}),(0,M.jsx)(`path`,{d:`M12 2 L13.8 8.4 L20.5 10.5 L13.8 12.6 L12 19 L10.2 12.6 L3.5 10.5 L10.2 8.4 Z`,fill:i}),(0,M.jsx)(`path`,{d:`M18.6 3 L19.4 5.4 L21.8 6.2 L19.4 7 L18.6 9.4 L17.8 7 L15.4 6.2 L17.8 5.4 Z`,fill:i,opacity:`0.65`})]})},wt=({icon:e,title:t,description:n,action:r,variant:i=`default`,className:a=``})=>i===`minimal`?(0,M.jsxs)(`div`,{className:[`text-center py-6`,a].filter(Boolean).join(` `),children:[e&&(0,M.jsx)(`div`,{style:{color:`var(--color-accent)`},className:` mb-2 flex justify-center`,"aria-hidden":`true`,children:e}),(0,M.jsx)(`p`,{className:`text-sm text-secondary`,children:t}),r&&(0,M.jsx)(`div`,{className:`mt-3`,children:r})]}):i===`dashed`?(0,M.jsxs)(`div`,{className:[`border-2 border-dashed border-theme rounded-xl p-8 text-center`,a].filter(Boolean).join(` `),children:[e&&(0,M.jsx)(`div`,{style:{color:`var(--color-accent)`},className:` mb-3 flex justify-center`,"aria-hidden":`true`,children:e}),(0,M.jsx)(`p`,{className:`text-sm font-medium text-primary`,children:t}),n&&(0,M.jsx)(`p`,{className:`text-xs text-secondary mt-1`,children:n}),r&&(0,M.jsx)(`div`,{className:`mt-4`,children:r})]}):(0,M.jsxs)(`div`,{className:[`text-center py-10 px-4`,a].filter(Boolean).join(` `),children:[e&&(0,M.jsx)(`div`,{style:{color:`var(--color-accent)`},className:` mb-4 flex justify-center`,"aria-hidden":`true`,children:e}),(0,M.jsx)(`p`,{className:`font-display font-semibold text-primary`,children:t}),n&&(0,M.jsx)(`p`,{className:`text-sm text-secondary mt-1 max-w-xs mx-auto`,children:n}),r&&(0,M.jsx)(`div`,{className:`mt-5`,children:r})]}),Tt={info:`bg-info-soft text-info`,success:`bg-success-soft text-success`,warning:`bg-warning-soft text-warning`,danger:`bg-danger-soft text-danger`},Et=({variant:e=`info`,title:t,message:n,icon:r,action:i,onDismiss:a,className:o=``})=>(0,M.jsxs)(`div`,{role:`status`,className:[`flex items-start gap-3 px-4 py-3 rounded-xl text-sm`,Tt[e],o].filter(Boolean).join(` `),children:[r&&(0,M.jsx)(`span`,{className:`flex-shrink-0 mt-0.5`,"aria-hidden":`true`,children:r}),(0,M.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[t&&(0,M.jsx)(`p`,{className:`font-medium`,children:t}),(0,M.jsx)(`p`,{className:t?`opacity-80 mt-0.5`:``,children:n}),i&&(0,M.jsx)(`div`,{className:`mt-2`,children:i})]}),a&&(0,M.jsx)(`button`,{type:`button`,onClick:a,"aria-label":`Dismiss`,className:`flex-shrink-0 opacity-60 hover:opacity-100 transition-opacity`,children:(0,M.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,M.jsx)(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`}),(0,M.jsx)(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`})]})})]}),Dt=(0,j.createContext)(null),Ot=4e3,kt=1e4,At={info:`border-l-4 border-info`,success:`border-l-4 border-success`,warning:`border-l-4 border-warning`,danger:`border-l-4 border-danger`},jt={info:`text-info`,success:`text-success`,warning:`text-warning`,danger:`text-danger`},Mt={info:(0,M.jsx)(()=>(0,M.jsxs)(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,M.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`}),(0,M.jsx)(`line`,{x1:`12`,y1:`16`,x2:`12`,y2:`12`}),(0,M.jsx)(`line`,{x1:`12`,y1:`8`,x2:`12.01`,y2:`8`})]}),{}),success:(0,M.jsx)(()=>(0,M.jsx)(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:(0,M.jsx)(`polyline`,{points:`20 6 9 17 4 12`})}),{}),warning:(0,M.jsx)(()=>(0,M.jsxs)(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,M.jsx)(`path`,{d:`M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z`}),(0,M.jsx)(`line`,{x1:`12`,y1:`9`,x2:`12`,y2:`13`}),(0,M.jsx)(`line`,{x1:`12`,y1:`17`,x2:`12.01`,y2:`17`})]}),{}),danger:(0,M.jsx)(()=>(0,M.jsxs)(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,M.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`}),(0,M.jsx)(`line`,{x1:`15`,y1:`9`,x2:`9`,y2:`15`}),(0,M.jsx)(`line`,{x1:`9`,y1:`9`,x2:`15`,y2:`15`})]}),{})},Nt=({item:e,onDismiss:t})=>((0,j.useEffect)(()=>{let n=setTimeout(()=>t(e.id),e.duration);return()=>clearTimeout(n)},[e.id,e.duration,t]),(0,M.jsxs)(`div`,{role:`status`,"aria-live":`polite`,className:[`flex items-center gap-3 bg-surface rounded-xl shadow-warm-hover px-4 py-3 min-w-[260px] max-w-[340px] animate-slide-up`,At[e.variant]].join(` `),children:[(0,M.jsx)(`span`,{className:[`flex-shrink-0`,jt[e.variant]].join(` `),children:Mt[e.variant]}),(0,M.jsx)(`p`,{className:`flex-1 text-sm text-primary`,children:e.message}),e.action&&(0,M.jsx)(`button`,{type:`button`,onClick:()=>{e.action?.onClick(),t(e.id)},className:`flex-shrink-0 text-sm font-medium whitespace-nowrap rounded-md px-1.5 py-0.5 transition-transform duration-150 active:scale-95 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-amber-600`,style:{color:`var(--color-accent)`},children:e.action.label}),(0,M.jsx)(`button`,{type:`button`,onClick:()=>t(e.id),"aria-label":`Dismiss notification`,className:`flex-shrink-0 text-muted hover:text-primary transition-colors`,children:(0,M.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,M.jsx)(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`}),(0,M.jsx)(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`})]})})]})),Pt=({children:e})=>
1{let[t,n]=(0,j.useState)([]),r=(0,j.useCallback)(e=>{n(t=>t.filter(t=>t.id!==e))},[]),i=(0,j.useCallback)((e,t=`info`,r=Ot,i)=>{let a=`${Date.now()}-${Math.random().toString(36).slice(2,7)}`,o=i?Math.max(r,kt):r;n(n=>[...n,{id:a,variant:t,message:e,duration:o,action:i}])},[]);return(0,M.jsxs)(Dt.Provider,{value:{toast:i,dismiss:r},children:[e,t.length>0&&(0,M.jsx)(`div`,{"aria-label":`Notifications`,className:`fixed bottom-6 left-1/2 -translate-x-1/2 z-[100] flex flex-col gap-2 items-center pointer-events-none`,children:t.map(e=>(0,M.jsx)(`div`,{className:`pointer-events-auto`,children:(0,M.jsx)(Nt,{item:e,onDismiss:r})},e.id))})]})},Ft=()=>{let e=(0,j.useContext)(Dt);if(!e)throw Error(`useToast must be used inside ToastProvider`);return e},It=({icon:e,title:t,description:n,action:r,onDismiss:i,variant:a=`default`,className:o=``})=>(0,M.jsxs)(`div`,{className:[`relative rounded-xl p-4`,a===`accent`?`border border-theme-subtle`:`bg-surface border border-theme-subtle`,o].filter(Boolean).join(` `),style:a===`accent`?{backgroundColor:`var(--color-accent-light)`}:void 0,children:[i&&(0,M.jsx)(`button`,{type:`button`,onClick:i,"aria-label":`Dismiss`,className:`absolute top-3 right-3 text-muted hover:text-primary transition-colors`,children:(0,M.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,M.jsx)(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`}),(0,M.jsx)(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`})]})}),(0,M.jsxs)(`div`,{className:`flex items-start gap-3`,children:[e&&(0,M.jsx)(`span`,{className:[`flex-shrink-0 mt-0.5`,a===`accent`?`text-amber-600`:`text-secondary`].join(` `),"aria-hidden":`true`,children:e}),(0,M.jsxs)(`div`,{className:[`flex-1 min-w-0`,i?`pr-5`:``].filter(Boolean).join(` `),children:[(0,M.jsx)(`p`,{className:`text-label text-primary`,children:t}),(0,M.jsx)(`p`,{className:`text-caption text-secondary mt-0.5`,children:n}),r&&(0,M.jsx)(`div`,{className:`mt-3`,children:r})]})]})]}),Lt=e(a(),1),Rt=320,q=12,zt=12,J=6,Bt=340,Vt=(e,t,n)=>Math.min(Math.max(e,t),n),Ht=e=>{let t=Array.from(document.querySelectorAll(e));return t.find(e=>{let t=e.getBoundingClientRect();return t.width>0&&t.height>0})??t[0]??null},Ut=e=>{let t=e;for(;t&&t!==document.body;){if(getComputedStyle(t).position===`fixed`)return!0;t=t.parentElement}return!1},Wt=(e,t)=>!e||!t?e===t:e.top===t.top&&e.left===t.left&&e.width===t.width&&e.height===t.height,Gt=({open:e,steps:t,onComplete:n,onDismiss:r,onStepView:i,onStart:a})=>
1{let[o,s]=(0,j.useState)(0),[c,l]=(0,j.useState)(null),[u,d]=(0,j.useState)(0),f=(0,j.useRef)(null),p=(0,j.useRef)(null),m=(0,j.useRef)(null),h=(0,j.useRef)(n);h.current=n;let g=(0,j.useRef)(a);g.current=a;let _=te(),v=t[o],[y,b]=(0,j.useState)(!1);ee(y),(0,j.useEffect)(()=>{e&&!y&&!_&&(b(!0),s(0),g.current?.())},[e,y,_]);let x=e=>{b(!1),e()};if((0,j.useEffect)(()=>{if(!y)return;let e=t[o];return e?.onEnter?.(),()=>{e?.onExit?.()}},[y,o]),(0,j.useEffect)(()=>{if(!y||!v)return;i?.(o);let e=Ht(v.target);e&&!Ut(e)&&e.scrollIntoView({behavior:`auto`,block:`center`})},[y,o]),(0,j.useEffect)(()=>{if(!y||!v){l(null),m.current=null;return}let e=()=>{let t=Ht(v.target),n=t?(()=>{let e=t.getBoundingClientRect();return{top:e.top,left:e.left,width:e.width,height:e.height}})():null;Wt(m.current,n)||(m.current=n,l(n),n&&t&&!Ut(t)&&(n.top<q||n.top+n.height>window.innerHeight-q)&&t.scrollIntoView({behavior:`auto`,block:`center`})),p.current=requestAnimationFrame(e)};return p.current=requestAnimationFrame(e),()=>{p.current&&cancelAnimationFrame(p.current)}},[y,o]),(0,j.useEffect)(()=>{if(!y||!v?.interactive)return;let e=Ht(v.target);if(!e)return;let n=v.advanceDelayMs??Rt,r=0,i=()=>{if(o>=t.length-1){b(!1),h.current();return}r=window.setTimeout(()=>s(e=>e+1),n)};return e.addEventListener(`click`,i,{once:!0}),()=>{e.removeEventListener(`click`,i),r&&window.clearTimeout(r)}},[y,o]),(0,j.useLayoutEffect)(()=>{f.current&&d(f.current.offsetHeight)},[o,c,e]),(0,j.useEffect)(()=>{if(!y)return;let e=window.setTimeout(()=>f.current?.focus(),50),i=e=>{let i=o===t.length-1;if(e.key===`Escape`){if(_)return;x(r)}else e.key===`ArrowLeft`?o>0&&s(e=>e-1):(e.key===`ArrowRight`||e.key===`Enter`)&&(i?x(n):s(e=>e+1))};return document.addEventListener(`keydown`,i),()=>{window.clearTimeout(e),document.removeEventListener(`keydown`,i)}},[y,o,t.length,_]),!y||!v)return null;let S=o===t.length-1,C=window.innerWidth,w=window.innerHeight,T=Math.min(Bt,C-2*q),E,D;if(c){D=Vt(c.left,q,C-T-q);let e=c.top+c.height+zt,t=c.top-zt-u;E=e+u<=w-q?e:t>=q?t:Vt(w-u-q,q,w-q)}else D=(C-T)/2,E=Vt((w-u)/2,q,w-q);let O=`coachmark-title`;return(0,Lt.createPortal)((0,M.jsxs)(`div`,{style:{position:`fixed`,inset:0,zIndex:60,pointerEvents:`none`},children:[v.interactive&&c?(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(`div`,{"aria-hidden":`true`,style:{position:`fixed`,pointerEvents:`auto`,top:0,left:0,right:0,height:Math.max(0,c.top-J)}}),(0,M.jsx)(`div`,{"aria-hidden":`true`,style:{position:`fixed`,pointerEvents:`auto`,top:c.top+c.height+J,left:0,right:0,bottom:0}}),(0,M.jsx)(`div`,{"aria-hidden":`true`,style:{position:`fixed`,pointerEvents:`auto`,top:c.top-J,left:0,width:Math.max(0,c.left-J),height:c.height+J*2}}),(0,M.jsx)(`div`,{"aria-hidden":`true`,style:{position:`fixed`,pointerEvents:`auto`,top:c.top-J,left:c.left+c.width+J,right:0,height:c.height+J*2}})]}):(0,M.jsx)(`div`,{"aria-hidden":`true`,style:{position:`fixed`,inset:0,pointerEvents:`auto`,backgroundColor:c?`transparent`:`rgba(0,0,0,0.55)`}}),c&&(0,M.jsx)(`div`,{"aria-hidden":`true`,style:{position:`fixed`,top:c.top-J,left:c.left-J,width:c.width+J*2,height:c.height+J*2,borderRadius:12,border:`2px solid var(--color-accent)`,boxShadow:`0 0 0 9999px rgba(0,0,0,0.55)`,pointerEvents:`none`}}),(0,M.jsxs)(`div`,{ref:f,role:`dialog`,"aria-modal":`true`,"aria-labelledby":O,tabIndex:-1,className:`animate-scale-in focus:outline-none`,style:{position:`fixed`,pointerEvents:`auto`,top:E,left:D,width:T,zIndex:61,backgroundColor:`var(--color-surface)`,border:`1px solid var(--color-border)`,borderRadius:16,boxShadow:`var(--shadow-sheet)`,padding:20},children:[(0,M.jsxs)(`div`,{className:`flex items-start justify-between gap-3 mb-2`,children:[(0,M.jsx)(`h2`,{id:O,className:`font-display text-base`,style:{color:`var(--color-text)`},children:v.title}),(0,M.jsx)(`button`,{type:`button`,onClick:()=>x(r),className:`flex-shrink-0 p-1 -mr-1 -mt-1 rounded-md transition-opacity hover:opacity-70 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-amber-600`,style:{color:`var(--color-text-muted)`},"aria-label":`Exit tour`,children:(0,M.jsxs)(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,M.jsx)(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`}),(0,M.jsx)(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`})]})})]}),(0,M.jsx)(`p`,{className:`text-sm font-sans leading-relaxed mb-4`,style:{color:`var(--color-text-secondary)`},children:v.body}),(0,M.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,M.jsxs)(`span`,{className:`text-xs font-sans`,style:{color:`var(--color-text-muted)`},children:[o+1,` of `,t.length]}),(0,M.jsxs)(`div`,{className:`flex items-center gap-2`,children:[o>0&&(0,M.jsx)(L,{variant:`ghost`,size:`sm`,onClick:()=>s(e=>e-1),children:`Back`}),(0,M.jsx)(L,{size:`sm`,variant:v.interactive?`ghost`:`primary`,onClick:()=>S?x(n):s(e=>e+1),children:S?`Done`:`Next`})]})]})]})]}),document.body)},Kt=()=>{let{session:e,loading:t}
1=g(),n=!!e,[r,i]=(0,j.useState)(!1),a=(0,j.useRef)(!1);return(0,j.useEffect)(()=>{if(!t){if(n||d()||c()!==null){i(!1);return}i(!0)}},[t,n]),(0,j.useEffect)(()=>{!r||a.current||(a.current=!0,b(x.CONSENT_NOTICE_SHOWN,{signed_in:n}))},[r,n]),(0,j.useEffect)(()=>{let e=()=>{c()!==null&&i(!1)};return window.addEventListener(f,e),()=>window.removeEventListener(f,e)},[]),r?(0,M.jsx)(`div`,{role:`region`,"aria-label":`Cookie consent`,className:`fixed inset-x-0 bottom-[72px] px-3 md:bottom-4 animate-slide-up`,style:{zIndex:o.NOTICE},children:(0,M.jsxs)(`div`,{className:`mx-auto max-w-2xl flex items-center gap-1.5 rounded-lg border py-1.5 pl-3 pr-1.5`,style:{backgroundColor:`var(--color-surface)`,borderColor:`var(--color-border)`,boxShadow:`var(--shadow-sheet)`},children:[(0,M.jsxs)(`p`,{className:`min-w-0 flex-1 font-sans text-caption`,style:{color:`var(--color-text-secondary)`},children:[`Analytics and masked session recording, on by default.`,` `,(0,M.jsx)(m,{to:`/privacy`,className:`underline underline-offset-2`,style:{color:`var(--color-accent)`},children:`Privacy`})]}),(0,M.jsx)(L,{variant:`secondary`,size:`sm`,onClick:()=>{b(x.CONSENT_DECLINED,{surface:`notice`,changed_from:`none`}),l(),i(!1)},className:`px-2.5`,children:`Decline`}),(0,M.jsx)(L,{variant:`primary`,size:`sm`,onClick:()=>{b(x.CONSENT_ACCEPTED,{surface:`notice`,changed_from:`none`}),u(),i(!1)},className:`px-2.5`,children:`Accept`}),(0,M.jsx)(`button`,{type:`button`,onClick:()=>i(!1),"aria-label":`Dismiss without choosing`,className:`w-8 h-8 flex-shrink-0 flex items-center justify-center rounded-md transition-colors duration-150 active:scale-95 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-amber-600`,style:{color:`var(--color-text-muted)`},onMouseEnter:e=>{e.currentTarget.style.backgroundColor=`var(--color-border-subtle)`,e.currentTarget.style.color=`var(--color-text)`},onMouseLeave:e=>{e.currentTarget.style.backgroundColor=`transparent`,e.currentTarget.style.color=`var(--color-text-muted)`},children:(0,M.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,M.jsx)(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`}),(0,M.jsx)(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`})]})})]})}):null},qt=`analytics-choice`,Jt=()=>{let{hash:e}=h(),{toast:t}=Ft(),[n,r]=(0,j.useState)(null),[i,a]=(0,j.useState)(!1),o=(0,j.useRef)(null);(0,j.useEffect)(()=>{r(c()),a(d())},[]),(0,j.useEffect)(()=>{let e=()=>r(c());return window.addEventListener(f,e),()=>window.removeEventListener(f,e)},[]),(0,j.useEffect)(()=>{e===`#analytics-choice`&&o.current?.scrollIntoView({block:`center`})},[e]);let p=()=>c()??`none`,m=()=>{b(x.CONSENT_ACCEPTED,{surface:`privacy_settings`,changed_from:p()}),u(),r(s.ACCEPTED),t(`Analytics on. Thanks, it helps.`,`success`)},g=()=>{b(x.CONSENT_DECLINED,{surface:`privacy_settings`,changed_from:p()}),l(),r(s.DECLINED),t(`Done. No cookie, and nothing stored that identifies you.`,`success`)},_=i?`Your browser is sending a Global Privacy Control signal, so analytics is off and no cookie is set. We treat that as a no for as long as it's on, and we don't store it as your choice.`:n===s.ACCEPTED?`Right now: on, with a cookie, so your visits stitch together.`:n===s.DECLINED?`Right now: no cookie, and nothing stored on your device that identifies you. We still count visits and record the page, with every word masked.`:`Right now: anonymous and cookieless, because you haven't chosen yet. Visits are counted and the page is recorded, with every word masked.`;return(0,M.jsxs)(`div`,{id:qt,ref:o,className:`rounded-xl border p-4 mt-8 scroll-mt-24`,style:{backgroundColor:`var(--color-surface)`,borderColor:`var(--color-border)`},children:[(0,M.jsx)(`h2`,{className:`text-heading-3 mb-1`,style:{color:`var(--color-text)`},children:`Your analytics choice`}),(0,M.jsx)(`p`,{className:`text-sm leading-relaxed`,style:{color:`var(--color-text-secondary)`},children:_}),!i&&(0,M.jsxs)(`div`,{className:`mt-3 flex flex-wrap gap-2`,children:[(0,M.jsx)(L,{variant:`primary`,size:`sm`,onClick:m,disabled:n===s.ACCEPTED,children:`Accept analytics`}),(0,M.jsx)(L,{variant:`secondary`,size:`sm`,onClick:g,disabled:n===s.DECLINED,children:`Turn analytics off`})]})]})},Yt={up:`text-success`,down:`text-danger`,neutral:`text-muted`},Xt=()=>(0,M.jsx)(`svg`,{width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:(0,M.jsx)(`polyline`,{points:`18 
115 12 9 6 15`})}),Zt=()=>(0,M.jsx)(`svg`,{width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:(0,M.jsx)(`polyline`,{points:`6 9 12 15 18 9`})}),Qt=({label:e,value:t,sub:n,trend:r,trendValue:i,loading:a=!1,onClick:o,className:s=``})=>(0,M.jsx)(ut,{hover:!!o,onClick:o,className:s,children:(0,M.jsx)(`div`,{className:`p-4`,children:a?(0,M.jsx)(Qe,{lines:2}):(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(`p`,{className:`text-caption text-muted mb-1`,children:e}),(0,M.jsx)(`p`,{className:`text-display text-primary`,children:t}),n&&(0,M.jsx)(`p`,{className:`text-xs text-muted mt-0.5`,children:n}),r&&i&&(0,M.jsxs)(`div`,{className:[`flex items-center gap-1 mt-1 text-xs font-medium`,Yt[r]].join(` `),children:[r===`up`&&(0,M.jsx)(Xt,{}),r===`down`&&(0,M.jsx)(Zt,{}),r===`neutral`&&(0,M.jsx)(`span`,{"aria-hidden":`true`,children:`—`}),(0,M.jsx)(`span`,{children:i})]})]})})}),$t={met:`bg-success-soft text-success`,partial:`bg-warning-soft text-warning`,missed:`bg-danger-soft text-danger`},en=({state:e,label:t})=>(0,M.jsx)(`span`,{className:`inline-flex flex-shrink-0 items-center rounded-full px-2 py-0.5 text-caption font-medium ${$t[e]}`,children:t}),tn=({label:e,options:t,value:n,onChange:r})=>{let[i,a]=(0,j.useState)(!1),o=(0,j.useRef)(null),s=(0,j.useRef)(null);(0,j.useEffect)(()=>{if(!i)return;let e=e=>{o.current&&!o.current.contains(e.target)&&a(!1)},t=e=>{e.key===`Escape`&&(a(!1),s.current?.focus())};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[i]);let c=t.find(e=>e.value===n)?.label??n;return(0,M.jsxs)(`div`,{className:`relative`,ref:o,children:[(0,M.jsxs)(`button`,{ref:s,type:`button`,onClick:()=>a(e=>!e),className:`rounded-full border text-sm pl-3 pr-2 py-1.5 flex items-center gap-1.5 transition-colors duration-150 active:scale-95 focus-visible:ring-2 focus-visible:ring-amber-600`,style:{borderColor:i?`var(--color-accent)`:`var(--color-border-subtle)`,backgroundColor:`var(--color-surface)`,color:`var(--color-text)`},"aria-haspopup":`listbox`,"aria-expanded":i,"aria-label":`${e}: ${c}`,children:[(0,M.jsx)(`span`,{style:{color:`var(--color-text-muted)`},children:e}),(0,M.jsx)(`span`,{className:`font-medium`,children:c}),(0,M.jsx)(`svg`,{width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,className:`transition-transform duration-150 ${i?`rotate-180`:``}`,style:{color:`var(--color-text-muted)`},children:(0,M.jsx)(`polyline`,{points:`6 9 12 15 18 9`})})]}),i&&(0,M.jsx)(`div`,{className:`absolute left-0 top-full mt-1 border rounded-xl z-50 min-w-[160px] py-1 overflow-hidden animate-scale-in`,style:{borderColor:`var(--color-border)`,backgroundColor:`var(--color-surface)`,boxShadow:`var(--shadow-card-hover)`},role:`listbox`,"aria-label":e,children:t.map(e=>{let t=e.value===n;return(0,M.jsxs)(`button`,{type:`button`,onClick:()=>{r(e.value),a(!1)},className:`px-3 py-2 text-sm w-full text-left flex items-center justify-between gap-2 transition-colors duration-150 hover:bg-surface-raised`,style:{color:`var(--color-text)`},role:`option`,"aria-selected":t,children:[(0,M.jsx)(`span`,{children:e.label}),t&&(0,M.jsx)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`var(--color-accent)`,strokeWidth:2.5,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:(0,M.jsx)(`polyline`,{points:`20 6 9 17 4 12`})})]},e.value)})})]})},nn={sm:`text-sm rounded-full px-3 py-2 border`,md:`text-sm font-medium rounded-full px-4 py-2 border-2`},rn=({legend:e,hint:t,options:n,selected:r,onToggle:i,size:a=`sm`,disabled:o=!1,className:s=``})=>(0,M.jsxs)(`fieldset`,{className:s,children:[(0,M.jsx)(`legend`,{className:`text-overline mb-1`,style:{color:`var(--color-bronze)`},children:e}),t&&(0,M.jsx)(`p`,{className:`text-xs mb-2 text-muted`,children:t}),(0,M.jsx)(`div`,{className:[`flex flex-wrap gap-2`,t?``:`mt-2`].filter(
1Boolean).join(` `),children:n.map(e=>{let t=r.includes(e.value);return(0,M.jsx)(`button`,{type:`button`,disabled:o,onClick:()=>i(e.value),"aria-pressed":t,className:[nn[a],`transition-transform duration-150 active:scale-95 disabled:opacity-50`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-amber-600`].join(` `),style:{borderColor:t?e.color??`var(--color-accent)`:`var(--color-border-subtle)`,backgroundColor:t?e.bg??`var(--color-accent-light)`:`transparent`,color:t?e.color??`var(--color-accent)`:`var(--color-text-secondary)`},children:e.label},e.value)})})]}),an=({open:e})=>(0,M.jsx)(`svg`,{className:[`w-4 h-4 flex-shrink-0 transition-transform duration-200 ease-out`,e?`rotate-180`:`rotate-0`].join(` `),viewBox:`0 0 16 16`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.75`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:(0,M.jsx)(`path`,{d:`M4 6l4 4 4-4`})}),on=({trigger:e,children:t,defaultOpen:n=!1,open:r,onOpenChange:i,showChevron:a=!0,disabled:o=!1,className:s=``,triggerClassName:c=``,contentClassName:l=``,"aria-label":u})=>{let[d,f]=(0,j.useState)(n),p=r!==void 0,m=p?r:d,h=(0,j.useId)();return(0,M.jsxs)(`div`,{className:s,children:[(0,M.jsxs)(`button`,{type:`button`,onClick:()=>{let e=!m;p||f(e),i?.(e)},disabled:o,"aria-expanded":m,"aria-controls":h,"aria-label":u,className:[`w-full flex items-center justify-between gap-2 text-left`,`transition-colors duration-150`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-amber-600 focus-visible:ring-offset-2 rounded-lg`,`disabled:opacity-50 disabled:cursor-not-allowed`,c].join(` `),children:[(0,M.jsx)(`span`,{className:`min-w-0 flex-1`,children:e}),a&&(0,M.jsx)(`span`,{className:`text-secondary`,children:(0,M.jsx)(an,{open:m})})]}),(0,M.jsx)(`div`,{id:h,className:`grid transition-[grid-template-rows] duration-200 ease-out`,style:{gridTemplateRows:m?`1fr`:`0fr`},"aria-hidden":!m,children:(0,M.jsx)(`div`,{className:`overflow-hidden min-h-0`,children:(0,M.jsx)(`div`,{className:l,children:t})})})]})},sn=({className:e=``,label:t})=>t?(0,M.jsxs)(`div`,{className:`w-full flex items-center gap-3 my-8 ${e}`,role:`separator`,"aria-label":t,children:[(0,M.jsx)(`span`,{className:`flex-1`,style:{height:1,backgroundColor:`var(--color-divider)`},"aria-hidden":`true`}),(0,M.jsx)(`span`,{className:`text-overline flex-shrink-0`,style:{color:`var(--color-text-secondary)`,fontWeight:700},children:t}),(0,M.jsx)(`span`,{className:`flex-1`,style:{height:1,backgroundColor:`var(--color-divider)`},"aria-hidden":`true`})]}):(0,M.jsx)(`div`,{className:`w-full ${e}`,style:{height:1,backgroundColor:`var(--color-divider)`,marginTop:`1.25rem`,marginBottom:`1.25rem`},role:`separator`,"aria-hidden":`true`}),cn={muted:`var(--color-text-muted)`,bronze:`var(--color-bronze)`,accent:`var(--color-accent)`},ln=({children:e,className:t=`mb-2`,uppercase:n=!0,tone:r=`muted`})=>(0,M.jsx)(`p`,{className:`${n?`text-overline `:`text-caption `}${t}`,style:{color:cn[r]},children:e}),un={matched:{backgroundColor:`var(--color-success-light)`,color:`var(--color-success)`},learning:{backgroundColor:`var(--color-accent-light)`,color:`var(--color-accent)`},gap:{backgroundColor:`var(--color-surface)`,color:`var(--color-text-secondary)`,border:`1px solid var(--color-border-subtle)`},neutral:{backgroundColor:`var(--color-border-subtle)`,color:`var(--color-text-secondary)`},selected:{backgroundColor:`var(--color-accent-light)`,color:`var(--color-accent)`,border:`1px solid var(--color-accent)`},info:{backgroundColor:`var(--color-info-soft)`,color:`var(--color-info)`}},dn={matched:`var(--color-success)`,learning:`var(--color-accent)`},fn=({variant:e=`neutral`,onClick:t,disabled:n,className:i=``,style:a,fillPercent:o,title:s,children:c})=>{let l=`inline-flex items-center gap-1 text-xs px-2.5 py-1 rounded-full font-medium${i?` ${i}`:``}`,u={...un[e],...o===void 0?{}:{position:`relative`,overflow:`hidden`},...a},d=o!==void 0&&dn[e]?(0,M.jsx)(r.span,{"aria-hidden":`true`,initial:{scaleX:0},animate:{scaleX:o/100},transition:{duration:.5,ease:`easeOut`},style:{position:`absolute`,inset:0,backgroundColor:dn[e],opacity:.22,transformOrigin:`left center`,borderRadius:`inherit`,zIndex:0,pointerEvents:`none`}}):null,f=o===void 0?c:(0,M.jsxs)(M.Fragment,{children:[d,(0,M.jsx)(`span`,{style:{position:`relative`,zIndex:1},children:c})]});return t?(0,M.jsx)(`button`,{type:`button`,onClick:t,disabled:n,"aria-pressed":e===`selected`,className:`${l} transition-colors duration-150`,style:u,title:s,children:f}):(0,M.jsx)(`span`,{className:l,style:u,title:s,children:f})},pn=({title:e,children:t,className:n=``,card:r=!1})=>r?(0,M.jsxs)(`div`,{className:`rounded-xl border p-4 space-y-4${n?` ${n}`:``}`,style:{backgroundColor:`var(--color-surface)`,borderColor:`var(--color-border)`},children:[e&&(0,M.jsx)(`p`,{className:`text-xs font-medium uppercase tracking-wide`,style:{color:`var(--color-text-muted)`},children:e}),t]}):(0,M.jsxs)(`div`,{className:`space-y-4${n?` ${n}`:``}`,children:[e&&(0,M.jsx)(`p`,{className:`text-xs font-medium uppercase tracking-wide text-muted`,children:e}),t]}),mn=({children:e,className:t=``})=>(0,M.jsx)(`div`,{className:`flex gap-3${t?` ${t}`:``}`,children:e}),hn=1100,gn=1800,_n=({steps:e,label:t,stepMs:n=hn,holdMs:a=gn})=>
1{let[o,s]=(0,j.useState)(0),c=o>=e.length-1;return(0,j.useEffect)(()=>{let t=setTimeout(()=>s(t=>t>=e.length-1?0:t+1),c?a:n);return()=>clearTimeout(t)},[o,e.length,c,n,a]),(0,M.jsxs)(`div`,{className:`py-2`,"aria-live":`polite`,children:[t&&(0,M.jsx)(`p`,{className:`font-display font-semibold mb-3`,style:{fontSize:13,color:`var(--color-text)`},children:t}),(0,M.jsx)(`div`,{className:`flex flex-col gap-3`,children:(0,M.jsx)(i,{mode:`popLayout`,children:e.slice(0,o+1).map((e,t)=>{let n=t===o;return(0,M.jsxs)(r.p,{className:`text-sm flex items-center gap-2.5 m-0`,style:{color:n?`var(--color-text)`:`var(--color-text-muted)`},initial:{opacity:0,y:6},animate:{opacity:1,y:0},exit:{opacity:0,y:-6},transition:{duration:.25,ease:`easeOut`},children:[(0,M.jsx)(`span`,{className:`w-1.5 h-1.5 rounded-full flex-shrink-0 ${n?`animate-pulse`:``}`,style:{backgroundColor:n?`var(--color-accent)`:`var(--color-success)`},"aria-hidden":`true`}),e]},e)})})})]})},vn=({open:e,steps:t,label:n})=>(A(e),(0,M.jsx)(i,{children:e&&(0,M.jsxs)(r.div,{className:`fixed inset-0 z-50 flex items-center justify-center p-4`,initial:{opacity:0}
1,animate:{opacity:1},exit:{opacity:0},transition:{duration:.18},children:[(0,M.jsx)(`div`,{className:`absolute inset-0 bg-black/50`,"aria-hidden":`true`}),(0,M.jsx)(r.div,{role:`dialog`,"aria-modal":`true`,"aria-busy":`true`,"aria-label":n??`Working`,className:`relative rounded-2xl w-full max-w-xs px-5 py-4`,style:{backgroundColor:`var(--color-surface)`,boxShadow:`0 16px 48px var(--shadow-modal)`},initial:{opacity:0,scale:.96,y:8},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.96,y:8},transition:{duration:.18,ease:`easeOut`},children:(0,M.jsx)(_n,{steps:t,label:n})})]})})),yn=({sections:e,offset:t=100,onSelect:n})=>{let[r,i]=(0,j.useState)(e[0]?.id??``),a=(0,j.useRef)(null),o=(0,j.useCallback)(e=>{i(e),n?.(e),window.setTimeout(()=>{let t=document.getElementById(e);t&&t.scrollIntoView({behavior:`instant`,block:`start`})},140)},[n]);return(0,j.useEffect)(()=>{if(e.length===0)return;a.current&&a.current.disconnect();let n=new Map;return a.current=new IntersectionObserver(t=>{t.forEach(e=>{n.set(e.target.id,e.isIntersecting)});for(let t of e)if(n.get(t.id)){i(t.id);break}},{rootMargin:`-${t}px 0px -60% 0px`,threshold:0}),e.forEach(e=>{let t=document.getElementById(e.id);t&&a.current?.observe(t)}),()=>a.current?.disconnect()},[e,t]),e.length<2?null:(0,M.jsxs)(`nav`,{className:`hidden lg:block sticky top-6`,style:{width:200},"aria-label":`On this page`,children:[(0,M.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-wide mb-3`,style:{color:`var(--color-text-secondary)`},children:`On this page`}),(0,M.jsx)(`ul`,{className:`space-y-0.5`,children:e.map(e=>{let t=r===e.id;return(0,M.jsx)(`li`,{children:(0,M.jsx)(`button`,{type:`button`,onClick:()=>o(e.id),className:`w-full text-left text-xs py-1.5 pl-3 rounded-sm transition-colors duration-150 block`,style:{color:t?`var(--color-accent)`:`var(--color-text-muted)`,borderLeft:t?`2px solid var(--color-accent)`:`2px solid transparent`,fontWeight:t?600:400},onMouseEnter:e=>{t||(e.currentTarget.style.color=`var(--color-text)`)},onMouseLeave:e=>{t||(e.currentTarget.style.color=`var(--color-text-muted)`)},children:e.label})},e.id)})})]})},bn=16,xn=80,Sn=32,Cn=({onClick:e,showPulse:t=!1,dataTour:n,label:r=`Quick add`})=>{let[i,a]=(0,j.useState)(!1),o=ne(),[s,c]=(0,j.useState)(null);return(0,j.useEffect)(()=>{if(!o)return;let e=document.querySelector(`[data-bottom-nav]`);if(!e)return;let t=new ResizeObserver(([e])=>c(e.contentRect.height));return t.observe(e),()=>t.disconnect()},[o]),(0,M.jsx)(`div`,{className:`fixed right-5 md:right-8 z-30`,style:{bottom:o?`calc(${s??xn}px + env(safe-area-inset-bottom) + ${bn}px)`:`${Sn}px`},children:(0,M.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,M.jsx)(`span`,{role:`tooltip`,className:`hidden md:inline-flex items-center px-3 py-1.5 rounded-full text-xs font-medium pointer-events-none transition-opacity duration-150`,style:{backgroundColor:`var(--color-text)`,color:`var(--color-bg)`,opacity:+!!i,boxShadow:`0 2px 8px var(--shadow-modal)`},children:r}),(0,M.jsxs)(`button`,{"data-tour":n,onClick:e,onMouseEnter:e=>{e.currentTarget.style.opacity=`0.9`,a(!0)},onMouseLeave:e=>{e.currentTarget.style.opacity=`1`,a(!1)},onFocus:()=>a(!0),onBlur:()=>a(!1),className:`rounded-full flex items-center justify-center transition-transform duration-150 active:scale-95 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-amber-600 focus-visible:ring-offset-2`,style:{width:52,height:52,backgroundColor:`var(--color-text)`,color:`var(--color-bg)`,boxShadow:`0 4px 16px var(--shadow-modal)`},"aria-label":r,title:r,children:[(0,M.jsxs)(`svg`,{width:`22`,height:`22`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2.5,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,M.jsx)(`line`,{x1:`12`,y1:`5`,x2:`12`,y2:`19`}),(0,M.jsx)(`line`,{x1:`5`,y1:`12`,x2:`19`,y2:`12`})]}),t&&(0,M.jsxs)(`span`,{className:`absolute -top-1 -right-1`,"aria-hidden":`true`,children:[(0,M.jsx)(`span`,{className:`animate-ping absolute inset-0 rounded-full opacity-60`,style:{backgroundColor:`var(--color-accent)`}}),(0,M.jsx)(`span`,{className:`relative block w-3 h-3 rounded-full`,style:{backgroundColor:`var(--color-accent)`}})]})]})]})})},wn=({items:e,ariaLabel:t,triggerColor:n})=>
1{let[r,i]=(0,j.useState)(!1),[a,s]=(0,j.useState)(null),c=(0,j.useRef)(null),l=(0,j.useRef)(null);return(0,j.useLayoutEffect)(()=>{r&&s(c.current?.getBoundingClientRect()??null)},[r]),(0,j.useEffect)(()=>{if(!r)return;let e=e=>{let t=e.target;c.current?.contains(t)||l.current?.contains(t)||i(!1)},t=e=>{e.key===`Escape`&&i(!1)},n=()=>i(!1);return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),window.addEventListener(`scroll`,n,!0),window.addEventListener(`resize`,n),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t),window.removeEventListener(`scroll`,n,!0),window.removeEventListener(`resize`,n)}},[r]),(0,M.jsxs)(`div`,{className:`relative`,ref:c,children:[(0,M.jsx)(`button`,{type:`button`,onClick:()=>i(e=>!e),"aria-label":t,"aria-haspopup":`menu`,"aria-expanded":r,className:`inline-flex items-center justify-center rounded-lg p-2 transition-transform duration-150 active:scale-90 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-amber-600`,style:{color:n??`var(--color-text-secondary)`},children:(0,M.jsxs)(`svg`,{width:`18`,height:`18`,viewBox:`0 0 24 24`,fill:`currentColor`,"aria-hidden":`true`,children:[(0,M.jsx)(`circle`,{cx:`12`,cy:`5`,r:`2`}),(0,M.jsx)(`circle`,{cx:`12`,cy:`12`,r:`2`}),(0,M.jsx)(`circle`,{cx:`12`,cy:`19`,r:`2`})]})}),r&&a&&(0,Lt.createPortal)((0,M.jsx)(`div`,{ref:l,role:`menu`,"aria-label":t,className:`fixed min-w-44 rounded-xl border py-1 animate-scale-in origin-top-right`,style:{zIndex:o.POPOVER,top:a.bottom+4,right:Math.max(8,window.innerWidth-a.right),backgroundColor:`var(--color-surface)`,borderColor:`var(--color-border)`,boxShadow:`var(--shadow-card-hover)`},children:e.map(e=>(0,M.jsxs)(`button`,{type:`button`,role:`menuitem`,disabled:e.disabled,onClick:()=>{i(!1),e.onClick()},className:[`w-full flex items-center gap-2.5 px-3.5 py-2 text-left text-sm transition-colors duration-150 hover:bg-[color:var(--color-border-subtle)] disabled:opacity-40 disabled:cursor-not-allowed focus-visible:outline-none focus-visible:bg-[color:var(--color-border-subtle)]`,e.danger?`mt-1 pt-2.5 border-t`:``].filter(Boolean).join(` `),style:{color:e.danger?`var(--color-danger)`:`var(--color-text)`,...e.danger?{borderColor:`var(--color-border-subtle)`}:{}},children:[e.icon&&(0,M.jsx)(`span`,{"aria-hidden":`true`,className:`flex-shrink-0`,style:{color:`var(--color-text-muted)`},children:e.icon}),e.label]},e.label))}),document.body)]})},Tn=8,Y=8,En=(e,t,n,r)=>{let i=window.innerWidth,a=window.innerHeight,o=e.top-Tn-t,s=e.bottom+Tn,c=r===`top-start`?o>=Y?o:s:s+t<=a-Y?s:o;c=Math.min(Math.max(c,Y),Math.max(Y,a-Y-t));let l=r===`top-start`?e.left:e.right-n;return l=Math.min(Math.max(l,Y),Math.max(Y,i-Y-n)),{top:c,left:l}},Dn=({open:e,onClose:t,anchorRef:n,ariaLabel:r,width:i,placement:a=`top-start`,role:s=`dialog`,className:c,children:l})=>{let u=(0,j.useRef)(null),d=(0,j.useRef)(!1),[f,p]=(0,j.useState)(null),{pathname:m}=h(),g=(0,j.useCallback)(()=>{let e=n.current,t=u.current;!e||!t||p(En(e.getBoundingClientRect(),t.getBoundingClientRect().height,i,a))},[n,i,a]);return(0,j.useLayoutEffect)(()=>{if(!e){p(null);return}g()},[e,g]),(0,j.useEffect)(()=>{if(!e)return;let r=e=>{let r=e.target;n.current?.contains(r)||u.current?.contains(r)||t()},i=e=>{e.key===`Escape`&&t()},a=()=>{let e=n.current;if(!e)return;let r=e.getBoundingClientRect();if(r.bottom<0||r.top>window.innerHeight){t();return}g()};return document.addEventListener(`mousedown`,r),document.addEventListener(`keydown`,i),window.addEventListener(`scroll`,a,!0),window.addEventListener(`resize`,a),()=>{document.removeEventListener(`mousedown`,r),document.removeEventListener(`keydown`,i),window.removeEventListener(`scroll`,a,!0),window.removeEventListener(`resize`,a)}},[e,t,g,n]),(0,j.useEffect)(()=>{d.current&&t()},[m]),(0,j.useEffect)(()=>{if(e){d.current=!0;return}if(!d.current)return;d.current=!1;let t=document.activeElement;(!t||t===document.body)&&n.current?.focus()},[e,n]),e?(0,Lt.createPortal)((0,M.jsx)(`div`,{ref:u,"data-pv-popover":``,role:s,"aria-label":r,className:[`fixed cursor-default rounded-xl border`,c].filter(
1Boolean).join(` `),style:{top:f?.top??0,left:f?.left??0,width:i,zIndex:o.POPOVER,backgroundColor:`var(--color-surface)`,borderColor:`var(--color-border)`,boxShadow:`var(--shadow-card-hover)`,visibility:f?void 0:`hidden`},children:l}),document.body):null},On=(e,t)=>({id:e,front_text:t,back_text:``,code_snippet:null,hint_text:null,subcategory_id:null,card_type:`concept`,difficulty:`medium`,tags:[],next_review_at:new Date().toISOString(),times_incorrect:1,is_mastered:!1}),kn=[On(`demo-card-1`,`Tell me about a time you led without authority`),On(`demo-card-2`,`How do you prioritize competing deadlines?`),On(`demo-card-3`,`Describe a process you improved`)],An=new Date().toISOString(),X=e=>new Date(Date.now()-e*864e5).toISOString(),jn=(e,t,n,r)=>({id:e,user_id:`demo`,skill_name:t,skill_category:`leveled`,skill_type:`soft`,profession:`other`,current_level:n,verified:!0,verification_method:`placement_test`,started_at:X(30),last_practiced_at:X(r),mastered_at:null,level_history:null,readiness_percent:n*20,readiness_updated_at:An,is_deleted:!1,is_paused:!1,created_at:X(30)}),Mn=[jn(`demo-skill-1`,`Stakeholder communication`,2,1),jn(`demo-skill-2`,`Project planning`,4,3),jn(`demo-skill-3`,`Data analysis`,3,6)],Nn={jobs:{current:2,isActiveToday:!0,thisWeek:4},notes:{current:3,isActiveToday:!0,thisWeek:5},practice:{current:1,isActiveToday:!1,thisWeek:3},contacts:{current:1,isActiveToday:!1,thisWeek:2},loading:!1},Pn={totalNotes:4,totalContacts:2,totalGeneralContacts:0,contactsByJob:{"demo-brightpath":2},mostRecentContactDate:X(2)},Fn={loading:!1,jobs_this_week:3,notes_this_week:5,contacts_this_week:2,stage_changes_this_week:4,jobs_last_week:2,notes_last_week:3,contacts_last_week:1,stage_changes_last_week:2,flashcard_sessions_this_week:3,quiz_sessions_this_week:1,snapshots_generated_this_week:1,skills_updated_this_week:2,flashcard_sessions_last_week:2,quiz_sessions_last_week:0,growth_skills:[],learning_skills:[],leveling_skills:[{skill_name:`Stakeholder communication`,current_level:2},{skill_name:`Data analysis`,current_level:3}],mastered_skills:[{skill_name:`Project planning`}]},Z={current:0,isActiveToday:!1,thisWeek:0},In={jobs:Z,notes:Z,practice:Z,contacts:Z,loading:!0},Q=e=>{if(e.length===0)return Z;let t=new Set(e.map(e=>new Date(e).toLocaleDateString(`en-CA`))),n=new Date,r=n.toLocaleDateString(`en-CA`),i=t.has(r),a=0,o=new Date(n);if(!i&&(o.setDate(o.getDate()-1),!t.has(o.toLocaleDateString(`en-CA`))))return{current:0,isActiveToday:!1,thisWeek:t.size};let s=new Date(o);for(let e=0;e<30&&t.has(s.toLocaleDateString(`en-CA`));e++)a++,s.setDate(s.getDate()-1);return{current:a,isActiveToday:i,thisWeek:t.size}},Ln=()=>{let{user:e}=g(),{isDemo:t}=_(),[n,r]=(0,j.useState)(In),i=(0,j.useCallback)(async()=>{if(t){r(Nn);return}if(!e){r({...In,loading:!1});return}let n=new Date(Date.now()-720*60*60*1e3).toISOString(),[i,a,o,s,c]=await Promise.all([y.from(`jobs`).select(`created_at`).eq(`user_id`,e.id).eq(`is_deleted`,!1).eq(`is_demo`,!1).gte(`created_at`,n),y.from(`notes`).select(`created_at`).eq(`user_id`,e.id).eq(`is_deleted`,!1).gte(`created_at`,n),y.from(`flashcard_sessions`).select(`created_at`).eq(`user_id`,e.id).gte(`created_at`,n),y.from(`quiz_sessions`).select(`created_at`).eq(`user_id`,e.id).eq(`was_completed`,!0).gte(`created_at`,n),y.from(`contacts`).select(`created_at`).eq(`user_id`,e.id).eq(`is_deleted`,!1).gte(`created_at`,n)]),l=(i.data??[]).map(e=>e.created_at),u=(a.data??[]).map(e=>e.created_at),d=[...(o.data??[]).map(e=>e.created_at),...(s.data??[]).map(e=>e.created_at)],f=(c.data??[]).map(e=>e.created_at);r({jobs:Q(l),notes:Q(u),practice:Q(d),contacts:Q(f),loading:!1})},[e,t]);return(0,j.useEffect)(()=>{i()},[i]),n},Rn={jobs:{label:`job streak`,activeLabel:`adding jobs`},notes:{label:`notes streak`,activeLabel:`writing notes`},practice:{label:`practice streak`,activeLabel:`practicing`},contacts:{label:`contacts streak`,activeLabel:`networking`}},zn=({category:e})=>{let t={width:13,height:13,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":!0,style:{flexShrink:0}};switch(e){case`jobs`:return(0,M.jsxs)(`svg`,{...t,children:[(0,M.jsx)(`rect`,{x:`2`,y:`7`,width:`20`,he
1ight:`14`,rx:`2`,ry:`2`}),(0,M.jsx)(`path`,{d:`M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16`})]});case`notes`:return(0,M.jsxs)(`svg`,{...t,children:[(0,M.jsx)(`path`,{d:`M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z`}),(0,M.jsx)(`polyline`,{points:`14 2 14 8 20 8`}),(0,M.jsx)(`line`,{x1:`16`,y1:`13`,x2:`8`,y2:`13`}),(0,M.jsx)(`line`,{x1:`16`,y1:`17`,x2:`8`,y2:`17`})]});case`practice`:return(0,M.jsxs)(`svg`,{...t,children:[(0,M.jsx)(`path`,{d:`M12 2c1 6 6 7 6 12a6 6 0 0 1-12 0c0-3 2-4 3-7 2 2 3 4 3 7`}),(0,M.jsx)(`path`,{d:`M9 17a3 3 0 0 0 6 0c0-2-2-3-3-5-1 2-3 3-3 5z`})]});case`contacts`:return(0,M.jsxs)(`svg`,{...t,children:[(0,M.jsx)(`path`,{d:`M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2`}),(0,M.jsx)(`circle`,{cx:`9`,cy:`7`,r:`4`}),(0,M.jsx)(`path`,{d:`M23 21v-2a4 4 0 0 0-3-3.87`}),(0,M.jsx)(`path`,{d:`M16 3.13a4 4 0 0 1 0 7.75`})]})}},Bn=({category:e,streak:t,loading:n=!1,actions:r})=>{let i=!n&&!!e&&!!t&&t.current>0,a=e?Rn[e]:null;return(0,M.jsx)(M.Fragment,{children:(0,M.jsxs)(`div`,{className:`mb-5`,children:[i&&e&&t&&a&&(0,M.jsxs)(`div`,{className:`md:hidden relative flex items-center gap-2.5 px-3 py-2.5 rounded-lg mb-4 overflow-hidden`,style:{backgroundColor:`var(--color-success-light)`,border:`1px solid var(--color-success)`},children:[t.current>=3&&(0,M.jsx)(`div`,{className:`absolute left-2 top-1/2 -translate-y-1/2 rounded-full`,style:{width:Math.min(24+t.current*2,44),height:Math.min(24+t.current*2,44),background:`radial-gradient(circle, var(--color-accent) 0%, transparent 70%)`,opacity:Math.min(.1+t.current*.02,.25),filter:`blur(5px)`},"aria-hidden":`true`}),(0,M.jsx)(`div`,{className:`relative flex items-center`,style:{color:`var(--color-success)`},children:(0,M.jsx)(zn,{category:e})}),(0,M.jsxs)(`span`,{className:`text-xs font-semibold flex-1 relative`,style:{color:`var(--color-success)`},children:[(0,M.jsx)(`span`,{className:`font-bold`,style:{fontSize:t.current>=7?`14px`:t.current>=3?`13px`:void 0,color:`var(--color-accent-hover)`},children:t.current}),` `,`day `,a.label]}),t.current>=7&&(0,M.jsx)(`span`,{className:`text-sm`,"aria-hidden":`true`,children:`🔥`})]}),r&&(0,M.jsx)(`div`,{className:`mb-4`,children:r})]})})},Vn=[`Su`,`Mo`,`Tu`,`We`,`Th`,`Fr`,`Sa`],Hn=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],Un=e=>String(e).padStart(2,`0`),$=(e,t,n)=>`${e}-${Un(t+1)}-${Un(n)}`,Wn=(e,t)=>{let n=new Date(e,t,1).getDay(),r=new Date(e,t+1,0).getDate(),i=new Date(e,t,0).getDate(),a=[];for(let r=0;r<n;r++){let o=i-n+1+r,s=t===0?11:t-1,c=t===0?e-1:e;a.push({day:o,dateStr:$(c,s,o),current:!1})}for(let n=1;n<=r;n++)a.push({day:n,dateStr:$(e,t,n),current:!0});let o=a.length%7==0?0:7-a.length%7;for(let n=1;n<=o;n++){let r=t===11?0:t+1,i=t===11?e+1:e;a.push({day:n,dateStr:$(i,r,n),current:!1})}return a},Gn=({items:e,onDayClick:t,renderItem:n,renderDayFooter:r,loading:i=!1,className:a=``,clickableEmptyDays:o=!1,dayPanel:s=`sheet`,headerRight:c})=>{let l=new Date,[u,d]=(0,j.useState)(l.getFullYear()),[f,p]=(0,j.useState)(l.getMonth()),[m,h]=(0,j.useState)(null),g=(0,j.useMemo)(()=>$(l.getFullYear(),l.getMonth(),l.getDate()),[]),_=(0,j.useMemo)(()=>{let t={};for(let n of e)n.date&&(t[n.date]||(t[n.date]=[]),t[n.date].push(n));return t},[e]),v=(0,j.useMemo)(()=>Wn(u,f),[u,f]),y=`${u}-${Un(f+1)}`,b=e.filter(e=>e.date.startsWith(y)).length,x=()=>{f===0?(d(e=>e-1),p(11)):p(e=>e-1)},S=()=>{f===11?(d(e=>e+1),p(0)):p(e=>e+1)},C=e=>{let n=_[e]??[];n.length===0&&!o||(h(e),t?.(e,n))},w=m?_[m]??[]:[],T=m?new Date(m+`T00:00:00`).toLocaleDateString(`en-US`,{weekday:`long`,month:`long`,day:`numeric`}):``,E=e=>(0,M.jsx)(`div`,{className:`px-3 py-2.5 rounded-lg text-sm`,style:{backgroundColor:`var(--color-border-subtle)`,color:`var(--color-text)`},children:e.title},e.id);return i?(0,M.jsxs)(`div`,{className:[`rounded-xl overflow-hidden`,a].filter(Boolean).join(` `),style:{backgroundColor:`var(--color-surface)`,boxShadow:`var(--shadow-card)`},children:[(0,M.jsxs)(`div`,{className:`px-4 py-3 flex items-center justify-between border-b`,style:{borderColor:`var(--color-border)`},children:[(0,M.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,M.jsx)(K,{className:`h-5 w-32 rounded`}),(0,M.jsxs)(`div`,{className:`flex gap-1`,children:[(0,M.jsx)(K,{className:`h-8 w-8 rounded-lg`}),(0,M.jsx)(K,{className:`h-8 w-8 rounded-lg`})]})]}),c]}),(0,M.jsx)(`div`,{className:`grid grid-cols-7 gap-0.5 p-3`,children:Array.from({length:35}).map((e,t)=>(0,M.jsx)(K,{className:`h-10 rounded-lg`},t))})]}):(0,M.jsxs)(M.Fragment,{children:[(0,M.jsxs)(`div`,{className:[`relative rounded-xl overflow-hidden`,a].filter(
1Boolean).join(` `),style:{backgroundColor:`var(--color-surface)`,boxShadow:`var(--shadow-card)`},children:[(0,M.jsxs)(`div`,{className:`px-4 py-3 flex items-center justify-between border-b flex-shrink-0`,style:{borderColor:`var(--color-border)`},children:[(0,M.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,M.jsxs)(`span`,{className:`font-display font-semibold text-base`,style:{color:`var(--color-text)`},children:[Hn[f],` `,u]}),(0,M.jsxs)(`div`,{className:`flex gap-1`,children:[(0,M.jsx)(`button`,{type:`button`,"aria-label":`Previous month`,onClick:x,className:`w-8 h-8 flex items-center justify-center rounded-lg transition-colors duration-150 active:scale-95 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-amber-600`,style:{color:`var(--color-text-muted)`},onMouseEnter:e=>{e.currentTarget.style.backgroundColor=`var(--color-border-subtle)`,e.currentTarget.style.color=`var(--color-text)`},onMouseLeave:e=>{e.currentTarget.style.backgroundColor=`transparent`,e.currentTarget.style.color=`var(--color-text-muted)`},children:(0,M.jsx)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:(0,M.jsx)(`polyline`,{points:`15 18 9 12 15 6`})})}),(0,M.jsx)(`button`,{type:`button`,"aria-label":`Next month`,onClick:S,className:`w-8 h-8 flex items-center justify-center rounded-lg transition-colors duration-150 active:scale-95 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-amber-600`,style:{color:`var(--color-text-muted)`},onMouseEnter:e=>{e.currentTarget.style.backgroundColor=`var(--color-border-subtle)`,e.currentTarget.style.color=`var(--color-text)`},onMouseLeave:e=>{e.currentTarget.style.backgroundColor=`transparent`,e.currentTarget.style.color=`var(--color-text-muted)`},children:(0,M.jsx)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:(0,M.jsx)(`polyline`,{points:`9 18 15 12 9 6`})})})]})]}),c]}),(0,M.jsx)(`div`,{className:`grid grid-cols-7 px-3 pt-3 pb-1 gap-0.5`,children:Vn.map(e=>(0,M.jsx)(`div`,{className:`text-center text-xs font-medium`,style:{color:`var(--color-text-muted)`},children:e},e))}),(0,M.jsx)(`div`,{className:`grid grid-cols-7 gap-0.5 px-3 pb-3`,children:v.map(({day:e,dateStr:t,current:n})=>{let r=_[t]??[],i=r.length>0,a=i||o,s=t===g,c=t===m;return(0,M.jsxs)(`button`,{type:`button`,onClick:()=>C(t),disabled:!a,"aria-label":i?`${e} ${Hn[f]}, ${r.length} item${r.length===1?``:`s`}`:`${e} ${Hn[f]}`,"aria-pressed":c,className:[`relative flex flex-col items-center justify-center h-10 rounded-lg transition-colors duration-150`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-amber-600`,a&&!c?`hover:bg-[var(--color-border-subtle)] cursor-pointer active:scale-95`:``,a?``:`cursor-default`].filter(Boolean).join(` `),style:{opacity:n?1:.3,backgroundColor:c||s?`var(--color-accent-light)`:`transparent`,color:c||s?`var(--color-accent)`:`var(--color-text)`,outline:s&&!c?`1.5px solid var(--color-accent)`:`none`,outlineOffset:`-1.5px`},children:[(0,M.jsx)(`span`,{className:`text-sm font-medium leading-none`,children:e}),i&&(0,M.jsx)(`span`,{className:`absolute bottom-1 w-1 h-1 rounded-full`,style:{backgroundColor:`var(--color-accent)`},"aria-hidden":`true`})]},t)})}),b>0&&(0,M.jsxs)(`div`,{className:`px-4 py-2 border-t text-xs`,style:{borderColor:`var(--color-border)`,color:`var(--color-text-muted)`},children:[b,` item`,b===1?``:`s`,` this month`]}),s===`inline`&&m&&(0,M.jsxs)(`div`,{className:`absolute inset-0 flex flex-col animate-fade-in`,style:{backgroundColor:`var(--color-surface)`},role:`dialog`,"aria-modal":`true`,"aria-label":T,children:[(0,M.jsxs)(`div`,{className:`px-4 py-3 flex items-center justify-between border-b flex-shrink-0`,style:{borderColor:`var(--color-border)`},children:[(0,M.jsx)(`span`,{className:`font-display font-semibold text-base`,style:{color:`var(--color-text)`},children:T}),(0,M.jsx)(`button`,{type:`button`,"aria-label":`Close day`,onClick:()=>h(null),className:`w-8 h-8 flex items-center justify-center rounded-lg transition-colors duration-150 active:scale-95 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-amber-600`,style:{color:`var(--color-text-muted)`},children:(0,M.jsxs)(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.5`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,M.jsx)(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`}),(0,M.jsx)(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`})]})})]}),(0,M.jsxs)(`div`,{className:`flex-1 overflow-y-auto p-3 flex flex-col gap-3`,children:[w.length===0?(0,M.jsx)(wt,{variant:`minimal`,t
1itle:`Nothing scheduled`}):(0,M.jsx)(`div`,{className:`flex flex-col gap-2`,children:w.map(e=>n?n(e):E(e))}),r&&m&&r(m)]})]})]}),s===`sheet`&&(0,M.jsx)(U,{open:m!==null,onClose:()=>h(null),title:T,dialogId:`calendar-day-panel`,children:(0,M.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[w.length===0?(0,M.jsx)(wt,{variant:`minimal`,title:`Nothing scheduled`}):(0,M.jsx)(`div`,{className:`flex flex-col gap-2`,children:w.map(e=>n?n(e):E(e))}),r&&m&&r(m)]})})]})};export{qe as $,It as A,ut as B,$t as C,Jt as D,qt as E,Ct as F,at as G,ct as H,St as I,et as J,it as K,ht as L,Ft as M,Et as N,Kt as O,wt as P,Ze as Q,mt as R,tn as S,Qt as T,st as U,lt as V,ot as W,$e as X,K as Y,Qe as Z,fn as _,se as _t,Fn as a,Pe as at,on as b,ie as bt,Mn as c,Oe as ct,Cn as d,ve as dt,Ge as et,yn as f,_e as ft,pn as g,z as gt,mn as h,oe as ht,Ln as i,Ne as it,Pt as j,Gt as k,Dn as l,B as lt,_n as m,he as mt,Bn as n,Ve as nt,Pn as o,Me as ot,vn as p,ge as pt,rt as q,Rn as r,U as rt,kn as s,ke as st,Gn as t,Ue as tt,wn as u,Ee as ut,ln as v,ce as vt,en as w,rn as x,N as xt,sn as y,L as yt,ft as z};

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.