Sponsored by Deepsite.site

Prompt2love

创建者
Prompt2Love4 months ago
Prompt2Love turns your saved AI prompts and skills into MCP commands. Search your library, fetch any prompt, and inject it directly into Claude Code, Cursor, Windsurf, or ChatGPT — no copy-paste. Also includes a Chrome extension for saving prompts and capturing AI outputs across ChatGPT, Claude, Gemini & more.
内容
/@font-face{font-family:Satoshi;src:url(/fonts/Satoshi-Regular.woff2)format("woff2");font-weight:400;font-display:swap;font-style:normal}@font-face{font-family:Satoshi;src:url(/fonts/Satoshi-Medium.woff2)format("woff2");font-weight:500;font-display:swap;font-style:normal}@font-face{font-family:Satoshi;src:url(/fonts/Satoshi-Bold.woff2)format("woff2");font-weight:700;font-display:swap;font-style:normal},:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: },:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--font-sans);font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--font-mono);font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}*{--tw-border-opacity:1;border-color:hsl(var(--border) / var(--tw-border-opacity,1))}body{--tw-bg-opacity:1;background-color:hsl(var(--background) / var(--tw-bg-opacity,1));font-family:var(--font-sans);--tw-text-opacity:1;color:hsl(var(--foreground) / var(--tw-text-opacity,1));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows) / 10%), 0 3px 0 rgb(var(--tw-prose-kbd-shadows) / 10%);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:""}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:17 24 39;--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:255 255 255;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-sm{font-size:.875rem;line-height:1.71429}.prose-sm :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.prose-sm :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.888889em;margin-bottom:.888889em;font-size:1.28571em;line-height:1.55556}.prose-sm :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.33333em;margin-bottom:1.33333em;padding-inline-start:1.11111em}.prose-sm :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:.8em;font-size:2.14286em;line-height:1.2}.prose-sm :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.6em;margin-bottom:.8em;font-size:1.42857em;line-height:1.4}.prose-sm :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.55556em;margin-bottom:.444444em;font-size:1.28571em;line-height:1.55556}.prose-sm :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.42857em;margin-bottom:.571429em;line-height:1.42857}.prose-sm :where(img):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.142857em;padding-inline-end:.357143em;padding-bottom:.142857em;border-radius:.3125rem;padding-inline-start:.357143em;font-size:.857143em}.prose-sm :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em}.prose-sm :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.prose-sm :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.888889em}.prose-sm :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;border-radius:.25rem;margin-top:1.66667em;margin-bottom:1.66667em;padding-inline-start:1em;font-size:.857143em;line-height:1.66667}.prose-sm :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em;padding-inline-start:1.57143em}.prose-sm :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;margin-bottom:.285714em}.prose-sm :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.428571em}.prose-sm :where(.prose-sm>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.prose-sm :where(.prose-sm>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(.prose-sm>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.prose-sm :where(.prose-sm>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(.prose-sm>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.prose-sm :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.prose-sm :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.prose-sm :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;padding-inline-start:1.57143em}.prose-sm :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2.85714em;margin-bottom:2.85714em}.prose-sm :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em;line-height:1.5}.prose-sm :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.prose-sm :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.prose-sm :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.666667em;font-size:.857143em;line-height:1.33333}.prose-sm :where(.prose-sm>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(.prose-sm>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.-inset-1{inset:-.25rem}.-inset-4{inset:-1rem}.-inset-6{inset:-1.5rem}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.-bottom-0\.5{bottom:-.125rem}.-bottom-2{bottom:-.5rem}.-bottom-4{bottom:-1rem}.-left-2{left:-.5rem}.-left-4{left:-1rem}.-right-0\.5{right:-.125rem}.-right-1\.5{right:-.375rem}.-right-2{right:-.5rem}.-right-4{right:-1rem}.-top-1\.5{top:-.375rem}.-top-2{top:-.5rem}.-top-2\.5{top:-.625rem}.-top-3{top:-.75rem}.-top-4{top:-1rem}.-top-8{top:-2rem}.-top-9{top:-2.25rem}.-top-\[350px\]{top:-350px}.bottom-0{bottom:0}.bottom-1{bottom:.25rem}.bottom-1\.5{bottom:.375rem}.bottom-1\/4{bottom:25%}.bottom-2{bottom:.5rem}.bottom-28{bottom:7rem}.bottom-3{bottom:.75rem}.bottom-4{bottom:1rem}.bottom-40{bottom:10rem}.bottom-6{bottom:1.5rem}.left-0{left:0}.left-1\/2{left:50%}.left-1\/3{left:33.3333%}.left-1\/4{left:25%}.left-16{left:4rem}.left-2{left:.5rem}.left-24{left:6rem}.left-3{left:.75rem}.left-4{left:1rem}.left-8{left:2rem}.left-\[50\%\]{left:50%}.left-\[calc\(50\%\+var\(--sidebar-width\)\/2\)\]{left:calc(50% + var(--sidebar-width) / 2)}.right-0{right:0}.right-1{right:.25rem}.right-1\.5{right:.375rem}.right-1\/3{right:33.3333%}.right-1\/4{right:25%}.right-12{right:3rem}.right-14{right:3.5rem}.right-2{right:.5rem}.right-2\.5{right:.625rem}.right-20{right:5rem}.right-3{right:.75rem}.right-4{right:1rem}.right-6{right:1.5rem}.top-0{top:0}.top-1{top:.25rem}.top-1\.5{top:.375rem}.top-1\/2{top:50%}.top-1\/3{top:33.3333%}.top-1\/4{top:25%}.top-12{top:3rem}.top-16{top:4rem}.top-2{top:.5rem}.top-2\.5{top:.625rem}.top-20{top:5rem}.top-24{top:6rem}.top-3{top:.75rem}.top-3\.5{top:.875rem}.top-36{top:9rem}.top-4{top:1rem}.top-8{top:2rem}.top-\[50\%\]{top:50%}.top-full{top:100%}.-z-10{z-index:-10}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[10000\]{z-index:10000}.z-\[10001\]{z-index:10001}.z-\[10010\]{z-index:10010}.z-\[100\]{z-index:100}.z-\[9000\]{z-index:9000}.z-\[9999\]{z-index:9999}.order-1{order:1}.order-2{order:2}.order-3{order:3}.col-span-2{grid-column:span 2/span 2}.col-span-full{grid-column:1/-1}.m-0{margin:0}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-1\.5{margin-left:.375rem;margin-right:.375rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-3\.5{margin-left:.875rem;margin-right:.875rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-10{margin-top:2.5rem;margin-bottom:2.5rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.my-4{margin-top:1rem;margin-bottom:1rem}.my-5{margin-top:1.25rem;margin-bottom:1.25rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.my-8{margin-top:2rem;margin-bottom:2rem}.-mb-0\.5{margin-bottom:-.125rem}.-ml-1{margin-left:-.25rem}.-ml-2{margin-left:-.5rem}.-mr-1\.5{margin-right:-.375rem}.-mt-0\.5{margin-top:-.125rem}.-mt-16{margin-top:-4rem}.-mt-3{margin-top:-.75rem}.mb-0{margin-bottom:0}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-14{margin-bottom:3.5rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-1\.5{margin-left:.375rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-5{margin-left:1.25rem}.ml-6{margin-left:1.5rem}.ml-\[1\.35rem\]{margin-left:1.35rem}.ml-auto{margin-left:auto}.mr-0\.5{margin-right:.125rem}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mr-2{margin-right:.5rem}.mr-4{margin-right:1rem}.mr-auto{margin-right:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-2\.5{margin-top:.625rem}.mt-20{margin-top:5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-4{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\!block{display:block!important}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-\[16\/9\]{aspect-ratio:16/9}.aspect-\[3\/4\]{aspect-ratio:3/4}.aspect-square{aspect-ratio:1}.aspect-video{aspect-ratio:16/9}.size-4{width:1rem;height:1rem}.h-0\.5{height:.125rem}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-36{height:9rem}.h-4{height:1rem}.h-40{height:10rem}.h-44{height:11rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-60{height:15rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-96{height:24rem}.h-\[100dvh\]{height:100dvh}.h-\[150px\]{height:150px}.h-\[18px\]{height:18px}.h-\[1px\]{height:1px}.h-\[220px\]{height:220px}.h-\[240px\]{height:240px}.h-\[260px\]{height:260px}.h-\[300px\]{height:300px}.h-\[350px\]{height:350px}.h-\[400px\]{height:400px}.h-\[40vh\]{height:40vh}.h-\[420px\]{height:420px}.h-\[44px\]{height:44px}.h-\[500px\]{height:500px}.h-\[50vh\]{height:50vh}.h-\[50vw\]{height:50vw}.h-\[600px\]{height:600px}.h-\[60px\]{height:60px}.h-\[60vh\]{height:60vh}.h-\[calc\(100vh-3\.5rem\)\]{height:calc(100vh - 3.5rem)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.h-svh{height:100svh}.max-h-32{max-height:8rem}.max-h-48{max-height:12rem}.max-h-60{max-height:15rem}.max-h-64{max-height:16rem}.max-h-72{max-height:18rem}.max-h-\[--radix-select-content-available-height\]{max-height:var(--radix-select-content-available-height)}.max-h-\[120px\]{max-height:120px}.max-h-\[160px\]{max-height:160px}.max-h-\[200px\]{max-height:200px}.max-h-\[240px\]{max-height:240px}.max-h-\[280px\]{max-height:280px}.max-h-\[300px\]{max-height:300px}.max-h-\[350px\]{max-height:350px}.max-h-\[35vh\]{max-height:35vh}.max-h-\[400px\]{max-height:400px}.max-h-\[40vh\]{max-height:40vh}.max-h-\[500px\]{max-height:500px}.max-h-\[50vh\]{max-height:50vh}.max-h-\[560px\]{max-height:560px}.max-h-\[60vh\]{max-height:60vh}.max-h-\[70vh\]{max-height:70vh}.max-h-\[78vh\]{max-height:78vh}.max-h-\[80vh\]{max-height:80vh}.max-h-\[82vh\]{max-height:82vh}.max-h-\[85vh\]{max-height:85vh}.max-h-\[90vh\]{max-height:90vh}.max-h-\[92vh\]{max-height:92vh}.max-h-\[calc\(100dvh-2rem\)\]{max-height:calc(100dvh - 2rem)}.max-h-\[calc\(100dvh-4rem\)\]{max-height:calc(100dvh - 4rem)}.max-h-\[var\(--radix-dropdown-menu-content-available-height\)\]{max-height:var(--radix-dropdown-menu-content-available-height)}.max-h-full{max-height:100%}.max-h-screen{max-height:100vh}.min-h-0{min-height:0}.min-h-11{min-height:2.75rem}.min-h-12{min-height:3rem}.min-h-16{min-height:4rem}.min-h-20{min-height:5rem}.min-h-40{min-height:10rem}.min-h-9{min-height:2.25rem}.min-h-\[100px\]{min-height:100px}.min-h-\[120px\]{min-height:120px}.min-h-\[200px\]{min-height:200px}.min-h-\[2rem\]{min-height:2rem}.min-h-\[32px\]{min-height:32px}.min-h-\[360px\]{min-height:360px}.min-h-\[36px\]{min-height:36px}.min-h-\[400px\]{min-height:400px}.min-h-\[40px\]{min-height:40px}.min-h-\[44px\]{min-height:44px}.min-h-\[48px\]{min-height:48px}.min-h-\[60px\]{min-height:60px}.min-h-\[60vh\]{min-height:60vh}.min-h-\[80px\]{min-height:80px}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.min-h-svh{min-height:100svh}.w-0\.5{width:.125rem}.w-1\.5{width:.375rem}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-2\/3{width:66.6667%}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-4\/5{width:80%}.w-40{width:10rem}.w-44{width:11rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[110px\]{width:110px}.w-\[120px\]{width:120px}.w-\[130px\]{width:130px}.w-\[140px\]{width:140px}.w-\[150px\]{width:150px}.w-\[160px\]{width:160px}.w-\[180px\]{width:180px}.w-\[1px\]{width:1px}.w-\[220px\]{width:220px}.w-\[2px\]{width:2px}.w-\[300px\]{width:300px}.w-\[400px\]{width:400px}.w-\[420px\]{width:420px}.w-\[440px\]{width:440px}.w-\[44px\]{width:44px}.w-\[480px\]{width:480px}.w-\[500px\]{width:500px}.w-\[600px\]{width:600px}.w-\[60px\]{width:60px}.w-\[60vw\]{width:60vw}.w-\[80px\]{width:80px}.w-\[80vw\]{width:80vw}.w-\[820px\]{width:820px}.w-\[calc\(100\%-2rem\)\]{width:calc(100% - 2rem)}.w-\[calc\(100vw-1rem\)\]{width:calc(100vw - 1rem)}.w-\[min\(16rem\,calc\(100vw-2rem\)\)\]{width:min(16rem,100vw - 2rem)}.w-\[min\(18rem\,calc\(100vw-2rem\)\)\]{width:min(18rem,100vw - 2rem)}.w-\[min\(20rem\,calc\(100vw-2rem\)\)\]{width:min(20rem,100vw - 2rem)}.w-\[var\(--sidebar-width\)\]{width:var(--sidebar-width)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.w-screen{width:100vw}.min-w-0{min-width:0}.min-w-5{min-width:1.25rem}.min-w-\[14px\]{min-width:14px}.min-w-\[160px\]{min-width:160px}.min-w-\[16px\]{min-width:16px}.min-w-\[180px\]{min-width:180px}.min-w-\[18px\]{min-width:18px}.min-w-\[200px\]{min-width:200px}.min-w-\[20px\]{min-width:20px}.min-w-\[32px\]{min-width:32px}.min-w-\[36px\]{min-width:36px}.min-w-\[40px\]{min-width:40px}.min-w-\[44px\]{min-width:44px}.min-w-\[48px\]{min-width:48px}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-32{max-width:8rem}.max-w-3xl{max-width:48rem}.max-w-48{max-width:12rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-\[120px\]{max-width:120px}.max-w-\[140px\]{max-width:140px}.max-w-\[150px\]{max-width:150px}.max-w-\[160px\]{max-width:160px}.max-w-\[180px\]{max-width:180px}.max-w-\[200px\]{max-width:200px}.max-w-\[220px\]{max-width:220px}.max-w-\[240px\]{max-width:240px}.max-w-\[280px\]{max-width:280px}.max-w-\[300px\]{max-width:300px}.max-w-\[480px\]{max-width:480px}.max-w-\[600px\]{max-width:600px}.max-w-\[720px\]{max-width:720px}.max-w-\[75\%\]{max-width:75%}.max-w-\[85\%\]{max-width:85%}.max-w-\[88vw\]{max-width:88vw}.max-w-\[90vw\]{max-width:90vw}.max-w-\[95vw\]{max-width:95vw}.max-w-\[96vw\]{max-width:96vw}.max-w-\[calc\(100vw-2rem\)\]{max-width:calc(100vw - 2rem)}.max-w-\[var\(--skeleton-width\)\]{max-width:var(--skeleton-width)}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.grow{flex-grow:1}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.origin-\[--radix-dropdown-menu-content-transform-origin\]{transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.origin-\[--radix-popover-content-transform-origin\]{transform-origin:var(--radix-popover-content-transform-origin)}.origin-\[--radix-select-content-transform-origin\]{transform-origin:var(--radix-select-content-transform-origin)}.origin-\[--radix-tooltip-content-transform-origin\]{transform-origin:var(--radix-tooltip-content-transform-origin)}.-translate-x-1\/2,.-translate-x-\[50\%\]{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-px{--tw-translate-x:-1px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-20{--tw-translate-y:-5rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y:-100%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[-50\%\]{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-px{--tw-translate-x:1px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-4{--tw-translate-y:1rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[15\%\]{--tw-translate-y:15%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-2{--tw-rotate:-2deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate:90deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-skew-x-12{--tw-skew-x:-12deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}.animate-\[bounce_2s_infinite\]{animation:2s infinite bounce}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.animate-\[fade-in_0\.2s_ease-out\]{animation:.2s ease-out fade-in}.animate-\[scale-in_0\.3s_ease-out\]{animation:.3s ease-out scale-in}.animate-\[slide-up_0\.3s_ease-out\]{animation:.3s ease-out slide-up}.animate-bounce{animation:1s infinite bounce}.animate-fade-in{animation:.3s cubic-bezier(.23,1,.32,1) forwards fade-in}@keyframes node-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.animate-node-in{animation:.25s cubic-bezier(.34,1.56,.64,1) forwards node-in}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}.animate-ping{animation:1s cubic-bezier(0,0,.2,1) infinite ping}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}@keyframes slide-in-down{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.animate-slide-in-down{animation:.4s cubic-bezier(.23,1,.32,1) forwards slide-in-down}@keyframes slide-in-left{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.animate-slide-in-left{animation:.25s cubic-bezier(.23,1,.32,1) forwards slide-in-left}@keyframes slide-in-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-slide-in-up{animation:.25s cubic-bezier(.23,1,.32,1) .15s forwards slide-in-up}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;user-select:none}.resize-none{resize:none}.resize-y{resize:vertical}.resize{resize:both}.scroll-mt-20{scroll-margin-top:5rem}.scroll-mt-24{scroll-margin-top:6rem}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.columns-2{columns:2}.auto-rows-\[minmax\(160px\,auto\)\]{grid-auto-rows:minmax(160px,auto)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-\[120px_1fr\]{grid-template-columns:120px 1fr}.grid-cols-\[1fr_80px_80px_80px\]{grid-template-columns:1fr 80px 80px 80px}.grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.grid-rows-\[1fr_auto\]{grid-template-rows:1fr auto}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-0{gap:0}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.gap-14{gap:3.5rem}.gap-16{gap:4rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-3{column-gap:.75rem}.gap-x-4{column-gap:1rem}.gap-x-5{column-gap:1.25rem}.gap-x-6{column-gap:1.5rem}.gap-x-8{column-gap:2rem}.gap-y-1{row-gap:.25rem}.gap-y-10{row-gap:2.5rem}.gap-y-2{row-gap:.5rem}.space-x-12>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(3rem * var(--tw-space-x-reverse));margin-left:calc(3rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-border\/50>:not([hidden])~:not([hidden]){border-color:hsl(var(--border) / .5)}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-\[50\%\]{border-radius:50%}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5625rem}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.rounded-sm{border-radius:.1875rem}.rounded-xl{border-radius:.75rem}.rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.rounded-t-md{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.rounded-bl-md{border-bottom-left-radius:.375rem}.rounded-br-md{border-bottom-right-radius:.375rem}.rounded-tl-3xl{border-top-left-radius:1.5rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-4{border-width:4px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-t-2{border-top-width:2px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-\[\#28c840\]\/25{border-color:#28c84040}.border-\[\#c8ff00\]\/20{border-color:#c8ff0033}.border-\[\#c8ff00\]\/30{border-color:#c8ff004d}.border-\[\#c8ff00\]\/50{border-color:#c8ff0080}.border-\[\#ccff00\]{--tw-border-opacity:1;border-color:rgb(204 255 0/var(--tw-border-opacity,1))}.border-\[\#ccff00\]\/20{border-color:#cf03}.border-\[\#ccff00\]\/25{border-color:#ccff0040}.border-\[\#ccff00\]\/30{border-color:#ccff004d}.border-\[\#ccff00\]\/40{border-color:#cf06}.border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.border-amber-500\/20{border-color:#f59e0b33}.border-amber-500\/30{border-color:#f59e0b4d}.border-amber-500\/40{border-color:#f59e0b66}.border-background{--tw-border-opacity:1;border-color:hsl(var(--background) / var(--tw-border-opacity,1))}.border-black{--tw-border-opacity:1;border-color:rgb(0 0 0/var(--tw-border-opacity,1))}.border-black\/80{border-color:#000c}.border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.border-blue-400\/40{border-color:#60a5fa66}.border-blue-500\/20{border-color:#3b82f633}.border-blue-500\/25{border-color:#3b82f640}.border-blue-500\/30{border-color:#3b82f64d}.border-border{--tw-border-opacity:1;border-color:hsl(var(--border) / var(--tw-border-opacity,1))}.border-border\/30{border-color:hsl(var(--border) / .3)}.border-border\/40{border-color:hsl(var(--border) / .4)}.border-border\/50{border-color:hsl(var(--border) / .5)}.border-border\/60{border-color:hsl(var(--border) / .6)}.border-card-border{--tw-border-opacity:1;border-color:hsl(var(--card-border) / var(--tw-border-opacity,1))}.border-cyan-500\/20{border-color:#06b6d433}.border-cyan-500\/30{border-color:#06b6d44d}.border-destructive{--tw-border-opacity:1;border-color:hsl(var(--destructive) / var(--tw-border-opacity,1))}.border-destructive-border{border-color:var(--destructive-border)}.border-destructive\/20{border-color:hsl(var(--destructive) / .2)}.border-destructive\/30{border-color:hsl(var(--destructive) / .3)}.border-emerald-500\/20{border-color:#10b98133}.border-emerald-500\/25{border-color:#10b98140}.border-emerald-500\/30{border-color:#10b9814d}.border-emerald-500\/40{border-color:#10b98166}.border-foreground{--tw-border-opacity:1;border-color:hsl(var(--foreground) / var(--tw-border-opacity,1))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-200\/50{border-color:#e5e7eb80}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-gray-500\/30{border-color:#6b72804d}.border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.border-gray-800{--tw-border-opacity:1;border-color:rgb(31 41 55/var(--tw-border-opacity,1))}.border-gray-800\/30{border-color:#1f29374d}.border-gray-800\/40{border-color:#1f293766}.border-gray-800\/50{border-color:#1f293780}.border-gray-800\/60{border-color:#1f293799}.border-gray-900{--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity,1))}.border-green-500\/10{border-color:#22c55e1a}.border-green-500\/20{border-color:#22c55e33}.border-green-500\/30{border-color:#22c55e4d}.border-indigo-200{--tw-border-opacity:1;border-color:rgb(199 210 254/var(--tw-border-opacity,1))}.border-input{--tw-border-opacity:1;border-color:hsl(var(--input) / var(--tw-border-opacity,1))}.border-muted-foreground{--tw-border-opacity:1;border-color:hsl(var(--muted-foreground) / var(--tw-border-opacity,1))}.border-muted-foreground\/20{border-color:hsl(var(--muted-foreground) / .2)}.border-muted-foreground\/25{border-color:hsl(var(--muted-foreground) / .25)}.border-muted-foreground\/30{border-color:hsl(var(--muted-foreground) / .3)}.border-orange-400\/50{border-color:#fb923c80}.border-orange-500\/20{border-color:#f9731633}.border-orange-500\/25{border-color:#f9731640}.border-orange-500\/30{border-color:#f973164d}.border-pink-500\/30{border-color:#ec48994d}.border-primary{--tw-border-opacity:1;border-color:hsl(var(--primary) / var(--tw-border-opacity,1))}.border-primary-foreground\/30{border-color:hsl(var(--primary-foreground) / .3)}.border-primary\/10{border-color:hsl(var(--primary) / .1)}.border-primary\/15{border-color:hsl(var(--primary) / .15)}.border-primary\/20{border-color:hsl(var(--primary) / .2)}.border-primary\/25{border-color:hsl(var(--primary) / .25)}.border-primary\/30{border-color:hsl(var(--primary) / .3)}.border-primary\/40{border-color:hsl(var(--primary) / .4)}.border-primary\/50{border-color:hsl(var(--primary) / .5)}.border-primary\/60{border-color:hsl(var(--primary) / .6)}.border-purple-500\/20{border-color:#a855f733}.border-purple-500\/25{border-color:#a855f740}.border-purple-500\/30{border-color:#a855f74d}.border-purple-500\/50{border-color:#a855f780}.border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-red-500\/10{border-color:#ef44441a}.border-red-500\/20{border-color:#ef444433}.border-red-500\/25{border-color:#ef444440}.border-red-500\/30{border-color:#ef44444d}.border-red-500\/50{border-color:#ef444480}.border-secondary-border{border-color:var(--secondary-border)}.border-sidebar-border{--tw-border-opacity:1;border-color:hsl(var(--sidebar-border) / var(--tw-border-opacity,1))}.border-sidebar-border\/50{border-color:hsl(var(--sidebar-border) / .5)}.border-sky-500\/20{border-color:#0ea5e933}.border-slate-500\/20{border-color:#64748b33}.border-transparent{border-color:#0000}.border-violet-500\/20{border-color:#8b5cf633}.border-violet-500\/30{border-color:#8b5cf64d}.border-white\/10{border-color:#ffffff1a}.border-white\/15{border-color:#ffffff26}.border-white\/20{border-color:#fff3}.border-white\/5{border-color:#ffffff0d}.border-yellow-200{--tw-border-opacity:1;border-color:rgb(254 240 138/var(--tw-border-opacity,1))}.border-yellow-500\/20{border-color:#eab30833}.border-yellow-500\/25{border-color:#eab30840}.border-yellow-500\/30{border-color:#eab3084d}.border-zinc-500\/20{border-color:#71717a33}.border-zinc-500\/30{border-color:#71717a4d}.border-zinc-700{--tw-border-opacity:1;border-color:rgb(63 63 70/var(--tw-border-opacity,1))}.border-zinc-800{--tw-border-opacity:1;border-color:rgb(39 39 42/var(--tw-border-opacity,1))}.border-l-primary{--tw-border-opacity:1;border-left-color:hsl(var(--primary) / var(--tw-border-opacity,1))}.border-l-transparent{border-left-color:#0000}.border-t-blue-500{--tw-border-opacity:1;border-top-color:rgb(59 130 246/var(--tw-border-opacity,1))}.border-t-emerald-500{--tw-border-opacity:1;border-top-color:rgb(16 185 129/var(--tw-border-opacity,1))}.border-t-primary{--tw-border-opacity:1;border-top-color:hsl(var(--primary) / var(--tw-border-opacity,1))}.border-t-purple-500{--tw-border-opacity:1;border-top-color:rgb(168 85 247/var(--tw-border-opacity,1))}.border-t-red-500{--tw-border-opacity:1;border-top-color:rgb(239 68 68/var(--tw-border-opacity,1))}.border-t-transparent{border-top-color:#0000}.border-t-yellow-500{--tw-border-opacity:1;border-top-color:rgb(234 179 8/var(--tw-border-opacity,1))}.\!bg-\[\#ccff00\]{--tw-bg-opacity:1!important;background-color:rgb(204 255 0/var(--tw-bg-opacity,1))!important}.\!bg-background{--tw-bg-opacity:1!important;background-color:hsl(var(--background) / var(--tw-bg-opacity,1))!important}.\!bg-blue-400{--tw-bg-opacity:1!important;background-color:rgb(96 165 250/var(--tw-bg-opacity,1))!important}.\!bg-primary-foreground{--tw-bg-opacity:1!important;background-color:hsl(var(--primary-foreground) / var(--tw-bg-opacity,1))!important}.\!bg-yellow-400{--tw-bg-opacity:1!important;background-color:rgb(250 204 21/var(--tw-bg-opacity,1))!important}.bg-\[\#0a0a0a\]{--tw-bg-opacity:1;background-color:rgb(10 10 10/var(--tw-bg-opacity,1))}.bg-\[\#0c0c14\]{--tw-bg-opacity:1;background-color:rgb(12 12 20/var(--tw-bg-opacity,1))}.bg-\[\#111\]{--tw-bg-opacity:1;background-color:rgb(17 17 17/var(--tw-bg-opacity,1))}.bg-\[\#151515\]{--tw-bg-opacity:1;background-color:rgb(21 21 21/var(--tw-bg-opacity,1))}.bg-\[\#1a1a1a\]{--tw-bg-opacity:1;background-color:rgb(26 26 26/var(--tw-bg-opacity,1))}.bg-\[\#1a1a1d\]{--tw-bg-opacity:1;background-color:rgb(26 26 29/var(--tw-bg-opacity,1))}.bg-\[\#1c1c1c\]{--tw-bg-opacity:1;background-color:rgb(28 28 28/var(--tw-bg-opacity,1))}.bg-\[\#1f1f1f\]{--tw-bg-opacity:1;background-color:rgb(31 31 31/var(--tw-bg-opacity,1))}.bg-\[\#222\]{--tw-bg-opacity:1;background-color:rgb(34 34 34/var(--tw-bg-opacity,1))}.bg-\[\#28c840\]{--tw-bg-opacity:1;background-color:rgb(40 200 64/var(--tw-bg-opacity,1))}.bg-\[\#28c840\]\/15{background-color:#28c84026}.bg-\[\#a855f7\]{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.bg-\[\#c6f24e\]{--tw-bg-opacity:1;background-color:rgb(198 242 78/var(--tw-bg-opacity,1))}.bg-\[\#c8ff00\]{--tw-bg-opacity:1;background-color:rgb(200 255 0/var(--tw-bg-opacity,1))}.bg-\[\#c8ff00\]\/10{background-color:#c8ff001a}.bg-\[\#c8ff00\]\/5{background-color:#c8ff000d}.bg-\[\#c8ff00\]\/\[0\.02\]{background-color:#c8ff0005}.bg-\[\#ccff00\]{--tw-bg-opacity:1;background-color:rgb(204 255 0/var(--tw-bg-opacity,1))}.bg-\[\#ccff00\]\/10{background-color:#ccff001a}.bg-\[\#ccff00\]\/15{background-color:#ccff0026}.bg-\[\#ccff00\]\/20{background-color:#cf03}.bg-\[\#ccff00\]\/30{background-color:#ccff004d}.bg-\[\#ccff00\]\/5{background-color:#ccff000d}.bg-\[\#ccff00\]\/\[0\.015\]{background-color:#ccff0004}.bg-\[\#ccff00\]\/\[0\.02\]{background-color:#ccff0005}.bg-\[\#ccff00\]\/\[0\.03\]{background-color:#ccff0008}.bg-\[\#ccff00\]\/\[0\.04\]{background-color:#ccff000a}.bg-\[\#ccff00\]\/\[0\.05\]{background-color:#ccff000d}.bg-\[\#ccff00\]\/\[0\.10\]{background-color:#ccff001a}.bg-\[\#f97316\]{--tw-bg-opacity:1;background-color:rgb(249 115 22/var(--tw-bg-opacity,1))}.bg-\[\#febc2e\]{--tw-bg-opacity:1;background-color:rgb(254 188 46/var(--tw-bg-opacity,1))}.bg-\[\#ff5f57\]{--tw-bg-opacity:1;background-color:rgb(255 95 87/var(--tw-bg-opacity,1))}.bg-accent{--tw-bg-opacity:1;background-color:hsl(var(--accent) / var(--tw-bg-opacity,1))}.bg-accent\/50{background-color:hsl(var(--accent) / .5)}.bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.bg-amber-500\/10{background-color:#f59e0b1a}.bg-amber-500\/15{background-color:#f59e0b26}.bg-amber-500\/70{background-color:#f59e0bb3}.bg-background{--tw-bg-opacity:1;background-color:hsl(var(--background) / var(--tw-bg-opacity,1))}.bg-background\/50{background-color:hsl(var(--background) / .5)}.bg-background\/70{background-color:hsl(var(--background) / .7)}.bg-background\/80{background-color:hsl(var(--background) / .8)}.bg-background\/90{background-color:hsl(var(--background) / .9)}.bg-background\/95{background-color:hsl(var(--background) / .95)}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\/10{background-color:#0000001a}.bg-black\/15{background-color:#00000026}.bg-black\/20{background-color:#0003}.bg-black\/30{background-color:#0000004d}.bg-black\/40{background-color:#0006}.bg-black\/50{background-color:#00000080}.bg-black\/55{background-color:#0000008c}.bg-black\/60{background-color:#0009}.bg-black\/65{background-color:#000000a6}.bg-black\/70{background-color:#000000b3}.bg-black\/80{background-color:#000c}.bg-black\/90{background-color:#000000e6}.bg-black\/95{background-color:#000000f2}.bg-black\/\[0\.04\]{background-color:#0000000a}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(96 165 250/var(--tw-bg-opacity,1))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-blue-500\/10{background-color:#3b82f61a}.bg-blue-500\/15{background-color:#3b82f626}.bg-blue-500\/20{background-color:#3b82f633}.bg-blue-500\/30{background-color:#3b82f64d}.bg-blue-500\/5{background-color:#3b82f60d}.bg-blue-500\/70{background-color:#3b82f6b3}.bg-blue-600\/90{background-color:#2563ebe6}.bg-border{--tw-bg-opacity:1;background-color:hsl(var(--border) / var(--tw-bg-opacity,1))}.bg-border\/30{background-color:hsl(var(--border) / .3)}.bg-border\/50{background-color:hsl(var(--border) / .5)}.bg-card{--tw-bg-opacity:1;background-color:hsl(var(--card) / var(--tw-bg-opacity,1))}.bg-card\/50{background-color:hsl(var(--card) / .5)}.bg-card\/60{background-color:hsl(var(--card) / .6)}.bg-card\/80{background-color:hsl(var(--card) / .8)}.bg-card\/95{background-color:hsl(var(--card) / .95)}.bg-cyan-500\/10{background-color:#06b6d41a}.bg-cyan-500\/15{background-color:#06b6d426}.bg-destructive{--tw-bg-opacity:1;background-color:hsl(var(--destructive) / var(--tw-bg-opacity,1))}.bg-destructive\/10{background-color:hsl(var(--destructive) / .1)}.bg-destructive\/5{background-color:hsl(var(--destructive) / .05)}.bg-emerald-100{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity,1))}.bg-emerald-400{--tw-bg-opacity:1;background-color:rgb(52 211 153/var(--tw-bg-opacity,1))}.bg-emerald-500{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.bg-emerald-500\/10{background-color:#10b9811a}.bg-emerald-500\/15{background-color:#10b98126}.bg-emerald-500\/20{background-color:#10b98133}.bg-emerald-500\/30{background-color:#10b9814d}.bg-emerald-500\/5{background-color:#10b9810d}.bg-emerald-500\/70{background-color:#10b981b3}.bg-foreground{--tw-bg-opacity:1;background-color:hsl(var(--foreground) / var(--tw-bg-opacity,1))}.bg-foreground\/10{background-color:hsl(var(--foreground) / .1)}.bg-foreground\/30{background-color:hsl(var(--foreground) / .3)}.bg-foreground\/40{background-color:hsl(var(--foreground) / .4)}.bg-foreground\/5{background-color:hsl(var(--foreground) / .05)}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-gray-50\/50{background-color:#f9fafb80}.bg-gray-500\/10{background-color:#6b72801a}.bg-gray-500\/20{background-color:#6b728033}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.bg-gray-800\/50{background-color:#1f293780}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.bg-gray-900\/30{background-color:#1118274d}.bg-gray-900\/50{background-color:#11182780}.bg-gray-900\/80{background-color:#111827cc}.bg-gray-950{--tw-bg-opacity:1;background-color:rgb(3 7 18/var(--tw-bg-opacity,1))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(74 222 128/var(--tw-bg-opacity,1))}.bg-green-400\/70{background-color:#4ade80b3}.bg-green-400\/80{background-color:#4ade80cc}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-green-500\/10{background-color:#22c55e1a}.bg-green-500\/20{background-color:#22c55e33}.bg-green-500\/30{background-color:#22c55e4d}.bg-green-500\/5{background-color:#22c55e0d}.bg-indigo-100{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity,1))}.bg-indigo-400{--tw-bg-opacity:1;background-color:rgb(129 140 248/var(--tw-bg-opacity,1))}.bg-indigo-50{--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.bg-indigo-500\/20{background-color:#6366f133}.bg-indigo-500\/30{background-color:#6366f14d}.bg-lime-500{--tw-bg-opacity:1;background-color:rgb(132 204 22/var(--tw-bg-opacity,1))}.bg-muted{--tw-bg-opacity:1;background-color:hsl(var(--muted) / var(--tw-bg-opacity,1))}.bg-muted-foreground{--tw-bg-opacity:1;background-color:hsl(var(--muted-foreground) / var(--tw-bg-opacity,1))}.bg-muted-foreground\/20{background-color:hsl(var(--muted-foreground) / .2)}.bg-muted-foreground\/30{background-color:hsl(var(--muted-foreground) / .3)}.bg-muted-foreground\/40{background-color:hsl(var(--muted-foreground) / .4)}.bg-muted\/20{background-color:hsl(var(--muted) / .2)}.bg-muted\/30{background-color:hsl(var(--muted) / .3)}.bg-muted\/40{background-color:hsl(var(--muted) / .4)}.bg-muted\/50{background-color:hsl(var(--muted) / .5)}.bg-muted\/60{background-color:hsl(var(--muted) / .6)}.bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.bg-orange-400{--tw-bg-opacity:1;background-color:rgb(251 146 60/var(--tw-bg-opacity,1))}.bg-orange-500\/10{background-color:#f973161a}.bg-orange-500\/15{background-color:#f9731626}.bg-orange-500\/30{background-color:#f973164d}.bg-orange-500\/5{background-color:#f973160d}.bg-orange-600{--tw-bg-opacity:1;background-color:rgb(234 88 12/var(--tw-bg-opacity,1))}.bg-pink-500\/15{background-color:#ec489926}.bg-popover{--tw-bg-opacity:1;background-color:hsl(var(--popover) / var(--tw-bg-opacity,1))}.bg-primary{--tw-bg-opacity:1;background-color:hsl(var(--primary) / var(--tw-bg-opacity,1))}.bg-primary-foreground\/20{background-color:hsl(var(--primary-foreground) / .2)}.bg-primary-foreground\/30{background-color:hsl(var(--primary-foreground) / .3)}.bg-primary\/10{background-color:hsl(var(--primary) / .1)}.bg-primary\/15{background-color:hsl(var(--primary) / .15)}.bg-primary\/20{background-color:hsl(var(--primary) / .2)}.bg-primary\/5{background-color:hsl(var(--primary) / .05)}.bg-primary\/50{background-color:hsl(var(--primary) / .5)}.bg-primary\/60{background-color:hsl(var(--primary) / .6)}.bg-primary\/70{background-color:hsl(var(--primary) / .7)}.bg-primary\/\[0\.03\]{background-color:hsl(var(--primary) / .03)}.bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.bg-purple-400{--tw-bg-opacity:1;background-color:rgb(192 132 252/var(--tw-bg-opacity,1))}.bg-purple-500\/10{background-color:#a855f71a}.bg-purple-500\/15{background-color:#a855f726}.bg-purple-500\/20{background-color:#a855f733}.bg-purple-500\/30{background-color:#a855f74d}.bg-purple-500\/5{background-color:#a855f70d}.bg-purple-600{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-red-400{--tw-bg-opacity:1;background-color:rgb(248 113 113/var(--tw-bg-opacity,1))}.bg-red-400\/20{background-color:#f8717133}.bg-red-400\/70{background-color:#f87171b3}.bg-red-400\/80{background-color:#f87171cc}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-red-500\/10{background-color:#ef44441a}.bg-red-500\/15{background-color:#ef444426}.bg-red-500\/20{background-color:#ef444433}.bg-red-500\/5{background-color:#ef44440d}.bg-red-600\/90{background-color:#dc2626e6}.bg-secondary{--tw-bg-opacity:1;background-color:hsl(var(--secondary) / var(--tw-bg-opacity,1))}.bg-sidebar{--tw-bg-opacity:1;background-color:hsl(var(--sidebar) / var(--tw-bg-opacity,1))}.bg-sidebar-border{--tw-bg-opacity:1;background-color:hsl(var(--sidebar-border) / var(--tw-bg-opacity,1))}.bg-sky-500{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}.bg-sky-500\/10{background-color:#0ea5e91a}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.bg-slate-400{--tw-bg-opacity:1;background-color:rgb(148 163 184/var(--tw-bg-opacity,1))}.bg-slate-500\/10{background-color:#64748b1a}.bg-transparent{background-color:#0000}.bg-violet-500{--tw-bg-opacity:1;background-color:rgb(139 92 246/var(--tw-bg-opacity,1))}.bg-violet-500\/10{background-color:#8b5cf61a}.bg-violet-500\/15{background-color:#8b5cf626}.bg-violet-500\/70{background-color:#8b5cf6b3}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/10{background-color:#ffffff1a}.bg-white\/15{background-color:#ffffff26}.bg-white\/20{background-color:#fff3}.bg-white\/5{background-color:#ffffff0d}.bg-white\/\[0\.02\]{background-color:#ffffff05}.bg-white\/\[0\.03\]{background-color:#ffffff08}.bg-white\/\[0\.04\]{background-color:#ffffff0a}.bg-white\/\[0\.08\]{background-color:#ffffff14}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.bg-yellow-400\/70{background-color:#facc15b3}.bg-yellow-400\/80{background-color:#facc15cc}.bg-yellow-50{--tw-bg-opacity:1;background-color:rgb(254 252 232/var(--tw-bg-opacity,1))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.bg-yellow-500\/10{background-color:#eab3081a}.bg-yellow-500\/15{background-color:#eab30826}.bg-yellow-500\/20{background-color:#eab30833}.bg-yellow-500\/30{background-color:#eab3084d}.bg-yellow-500\/5{background-color:#eab3080d}.bg-yellow-600\/90{background-color:#ca8a04e6}.bg-zinc-500\/10{background-color:#71717a1a}.bg-zinc-700{--tw-bg-opacity:1;background-color:rgb(63 63 70/var(--tw-bg-opacity,1))}.bg-zinc-800{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.bg-zinc-800\/80{background-color:#27272acc}.bg-zinc-900{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity,1))}.bg-zinc-950{--tw-bg-opacity:1;background-color:rgb(9 9 11/var(--tw-bg-opacity,1))}.bg-\[conic-gradient\(from_0deg\,transparent\,hsl\(var\(--primary\)\/0\.22\)\,transparent\,hsl\(var\(--primary\)\/0\.12\)\,transparent\)\]{background-image:conic-gradient(from 0deg,transparent,hsl(var(--primary)/.22),transparent,hsl(var(--primary)/.12),transparent)}.bg-\[radial-gradient\(circle\,rgba\(204\,255\,0\,0\.06\)_0\%\,transparent_70\%\)\]{background-image:radial-gradient(circle,#ccff000f 0%,#0000 70%)}.bg-\[radial-gradient\(circle\,rgba\(204\,255\,0\,0\.07\)_0\%\,transparent_70\%\)\]{background-image:radial-gradient(circle,#ccff0012 0%,#0000 70%)}.bg-\[radial-gradient\(circle\,rgba\(204\,255\,0\,0\.08\)_0\%\,rgba\(204\,255\,0\,0\.02\)_40\%\,transparent_70\%\)\]{background-image:radial-gradient(circle,#ccff0014 0%,#ccff0005 40%,#0000 70%)}.bg-\[radial-gradient\(circle\,rgba\(204\,255\,0\,0\.08\)_0\%\,transparent_70\%\)\]{background-image:radial-gradient(circle,#ccff0014 0%,#0000 70%)}.bg-\[radial-gradient\(circle_at_50\%_25\%\,hsl\(var\(--primary\)\/0\.18\)\,transparent_34\%\)\,linear-gradient\(180deg\,hsl\(var\(--background\)\)\,hsl\(var\(--muted\)\/0\.4\)\)\]{background-image:radial-gradient(circle at 50% 25%,hsl(var(--primary)/.18),transparent 34%),linear-gradient(180deg,hsl(var(--background)),hsl(var(--muted)/.4))}.bg-gradient-to-b{background-image:linear-gradient(to bottom, var(--tw-gradient-stops))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right, var(--tw-gradient-stops))}.bg-gradient-to-l{background-image:linear-gradient(to left, var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right, var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top, var(--tw-gradient-stops))}.from-\[\#1c1c1f\]{--tw-gradient-from:#1c1c1f var(--tw-gradient-from-position);--tw-gradient-to:#1c1c1f00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[\#c8ff00\]\/15{--tw-gradient-from:#c8ff0026 var(--tw-gradient-from-position);--tw-gradient-to:#c8ff0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[\#ccff00\]\/10{--tw-gradient-from:#ccff001a var(--tw-gradient-from-position);--tw-gradient-to:#cf00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[\#ccff00\]\/15{--tw-gradient-from:#ccff0026 var(--tw-gradient-from-position);--tw-gradient-to:#cf00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[\#ccff00\]\/30{--tw-gradient-from:#ccff004d var(--tw-gradient-from-position);--tw-gradient-to:#cf00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[\#ccff00\]\/5{--tw-gradient-from:#ccff000d var(--tw-gradient-from-position);--tw-gradient-to:#cf00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-black\/75{--tw-gradient-from:#000000bf var(--tw-gradient-from-position);--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-emerald-500\/15{--tw-gradient-from:#10b98126 var(--tw-gradient-from-position);--tw-gradient-to:#10b98100 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-gray-50{--tw-gradient-from:#f9fafb var(--tw-gradient-from-position);--tw-gradient-to:#f9fafb00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-gray-900{--tw-gradient-from:#111827 var(--tw-gradient-from-position);--tw-gradient-to:#11182700 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-indigo-50{--tw-gradient-from:#eef2ff var(--tw-gradient-from-position);--tw-gradient-to:#eef2ff00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-muted\/40{--tw-gradient-from:hsl(var(--muted) / .4) var(--tw-gradient-from-position);--tw-gradient-to:hsl(var(--muted) / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-muted\/80{--tw-gradient-from:hsl(var(--muted) / .8) var(--tw-gradient-from-position);--tw-gradient-to:hsl(var(--muted) / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary{--tw-gradient-from:hsl(var(--primary) / 1) var(--tw-gradient-from-position);--tw-gradient-to:hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary\/10{--tw-gradient-from:hsl(var(--primary) / .1) var(--tw-gradient-from-position);--tw-gradient-to:hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary\/15{--tw-gradient-from:hsl(var(--primary) / .15) var(--tw-gradient-from-position);--tw-gradient-to:hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary\/30{--tw-gradient-from:hsl(var(--primary) / .3) var(--tw-gradient-from-position);--tw-gradient-to:hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary\/40{--tw-gradient-from:hsl(var(--primary) / .4) var(--tw-gradient-from-position);--tw-gradient-to:hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary\/60{--tw-gradient-from:hsl(var(--primary) / .6) var(--tw-gradient-from-position);--tw-gradient-to:hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary\/\[0\.03\]{--tw-gradient-from:hsl(var(--primary) / .03) var(--tw-gradient-from-position);--tw-gradient-to:hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary\/\[0\.04\]{--tw-gradient-from:hsl(var(--primary) / .04) var(--tw-gradient-from-position);--tw-gradient-to:hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-transparent{--tw-gradient-from:transparent var(--tw-gradient-from-position);--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-white{--tw-gradient-from:#fff var(--tw-gradient-from-position);--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-yellow-500\/15{--tw-gradient-from:#eab30826 var(--tw-gradient-from-position);--tw-gradient-to:#eab30800 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.via-\[\#c8ff00\]{--tw-gradient-to:#c8ff0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), #c8ff00 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-black\/25{--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), #00000040 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-border\/40{--tw-gradient-to:hsl(var(--border) / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), hsl(var(--border) / .4) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-gray-700{--tw-gradient-to:#37415100 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), #374151 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-primary\/30{--tw-gradient-to:hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), hsl(var(--primary) / .3) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-transparent{--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), transparent var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-white{--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), #fff var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-white\/5{--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), #ffffff0d var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-\[\#141416\]{--tw-gradient-to:#141416 var(--tw-gradient-to-position)}.to-\[\#c8ff00\]\/5{--tw-gradient-to:#c8ff000d var(--tw-gradient-to-position)}.to-\[\#ccff00\]\/20{--tw-gradient-to:#cf03 var(--tw-gradient-to-position)}.to-\[\#ccff00\]\/5{--tw-gradient-to:#ccff000d var(--tw-gradient-to-position)}.to-emerald-500\/5{--tw-gradient-to:#10b9810d var(--tw-gradient-to-position)}.to-gray-100\/50{--tw-gradient-to:#f3f4f680 var(--tw-gradient-to-position)}.to-gray-50\/50{--tw-gradient-to:#f9fafb80 var(--tw-gradient-to-position)}.to-gray-500{--tw-gradient-to:#6b7280 var(--tw-gradient-to-position)}.to-gray-800{--tw-gradient-to:#1f2937 var(--tw-gradient-to-position)}.to-gray-900{--tw-gradient-to:#111827 var(--tw-gradient-to-position)}.to-muted\/10{--tw-gradient-to:hsl(var(--muted) / .1) var(--tw-gradient-to-position)}.to-muted\/40{--tw-gradient-to:hsl(var(--muted) / .4) var(--tw-gradient-to-position)}.to-primary\/10{--tw-gradient-to:hsl(var(--primary) / .1) var(--tw-gradient-to-position)}.to-primary\/5{--tw-gradient-to:hsl(var(--primary) / .05) var(--tw-gradient-to-position)}.to-primary\/60{--tw-gradient-to:hsl(var(--primary) / .6) var(--tw-gradient-to-position)}.to-primary\/90{--tw-gradient-to:hsl(var(--primary) / .9) var(--tw-gradient-to-position)}.to-purple-50{--tw-gradient-to:#faf5ff var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.to-white{--tw-gradient-to:#fff var(--tw-gradient-to-position)}.to-yellow-500\/5{--tw-gradient-to:#eab3080d var(--tw-gradient-to-position)}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.fill-\[\#ccff00\]{fill:#cf0}.fill-current{fill:currentColor}.fill-primary{fill:hsl(var(--primary) / 1)}.fill-primary\/10{fill:hsl(var(--primary) / .1)}.fill-red-500{fill:#ef4444}.fill-white{fill:#fff}.stroke-border{stroke:hsl(var(--border) / 1)}.stroke-muted\/50{stroke:hsl(var(--muted) / .5)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-12{padding:3rem}.p-16{padding:4rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-3\.5{padding:.875rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-7{padding:1.75rem}.p-8{padding:2rem}.p-\[1px\]{padding:1px}.p-\[3px\]{padding:3px}.px-0{padding-left:0;padding-right:0}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-16{padding-left:4rem;padding-right:4rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-14{padding-top:3.5rem;padding-bottom:3.5rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-24{padding-top:6rem;padding-bottom:6rem}.py-28{padding-top:7rem;padding-bottom:7rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-px{padding-top:1px;padding-bottom:1px}.pb-0{padding-bottom:0}.pb-1{padding-bottom:.25rem}.pb-1\.5{padding-bottom:.375rem}.pb-10{padding-bottom:2.5rem}.pb-16{padding-bottom:4rem}.pb-2{padding-bottom:.5rem}.pb-2\.5{padding-bottom:.625rem}.pb-20{padding-bottom:5rem}.pb-24{padding-bottom:6rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-5{padding-bottom:1.25rem}.pb-6{padding-bottom:1.5rem}.pb-8{padding-bottom:2rem}.pb-\[env\(safe-area-inset-bottom\)\]{padding-bottom:env(safe-area-inset-bottom)}.pb-\[max\(12px\,env\(safe-area-inset-bottom\)\)\]{padding-bottom:max(12px,env(safe-area-inset-bottom))}.pl-1{padding-left:.25rem}.pl-10{padding-left:2.5rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pl-7{padding-left:1.75rem}.pl-8{padding-left:2rem}.pl-9{padding-left:2.25rem}.pr-0{padding-right:0}.pr-1{padding-right:.25rem}.pr-10{padding-right:2.5rem}.pr-12{padding-right:3rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pr-5{padding-right:1.25rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-0\.5{padding-top:.125rem}.pt-1{padding-top:.25rem}.pt-1\.5{padding-top:.375rem}.pt-10{padding-top:2.5rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-2\.5{padding-top:.625rem}.pt-28{padding-top:7rem}.pt-3{padding-top:.75rem}.pt-32{padding-top:8rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-\[family-name\:var\(--font-satoshi\)\]{font-family:var(--font-satoshi)}.font-display{font-family:var(--font-display)}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-6xl{font-size:3.75rem;line-height:1}.text-\[1\.0625rem\]{font-size:1.0625rem}.text-\[10px\]{font-size:10px}.text-\[10rem\]{font-size:10rem}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[6px\]{font-size:6px}.text-\[7px\]{font-size:7px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-4{line-height:1rem}.leading-\[1\.08\]{line-height:1.08}.leading-\[1\.4\]{line-height:1.4}.leading-\[1\.5\]{line-height:1.5}.leading-\[1\.75\]{line-height:1.75}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[0\.15em\]{letter-spacing:.15em}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-\[0\.3em\]{letter-spacing:.3em}.tracking-normal{letter-spacing:0}.tracking-tight{letter-spacing:-.025em}.tracking-tighter{letter-spacing:-.05em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-\[\#18181a\]{--tw-text-opacity:1;color:rgb(24 24 26/var(--tw-text-opacity,1))}.text-\[\#28c840\]{--tw-text-opacity:1;color:rgb(40 200 64/var(--tw-text-opacity,1))}.text-\[\#7a9900\]{--tw-text-opacity:1;color:rgb(122 153 0/var(--tw-text-opacity,1))}.text-\[\#c8ff00\]{--tw-text-opacity:1;color:rgb(200 255 0/var(--tw-text-opacity,1))}.text-\[\#c8ff00\]\/60{color:#c8ff0099}.text-\[\#c8ff00\]\/70{color:#c8ff00b3}.text-\[\#ccff00\]{--tw-text-opacity:1;color:rgb(204 255 0/var(--tw-text-opacity,1))}.text-\[\#ccff00\]\/40{color:#cf06}.text-\[\#ccff00\]\/60{color:#cf09}.text-\[\#ccff00\]\/80{color:#cf0c}.text-accent-foreground{--tw-text-opacity:1;color:hsl(var(--accent-foreground) / var(--tw-text-opacity,1))}.text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.text-background{--tw-text-opacity:1;color:hsl(var(--background) / var(--tw-text-opacity,1))}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.text-black\/60{color:#0009}.text-black\/70{color:#000000b3}.text-black\/80{color:#000c}.text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.text-border{--tw-text-opacity:1;color:hsl(var(--border) / var(--tw-text-opacity,1))}.text-card-foreground{--tw-text-opacity:1;color:hsl(var(--card-foreground) / var(--tw-text-opacity,1))}.text-current{color:currentColor}.text-cyan-400{--tw-text-opacity:1;color:rgb(34 211 238/var(--tw-text-opacity,1))}.text-destructive{--tw-text-opacity:1;color:hsl(var(--destructive) / var(--tw-text-opacity,1))}.text-destructive-foreground{--tw-text-opacity:1;color:hsl(var(--destructive-foreground) / var(--tw-text-opacity,1))}.text-emerald-400{--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.text-emerald-500{--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity,1))}.text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.text-emerald-800{--tw-text-opacity:1;color:rgb(6 95 70/var(--tw-text-opacity,1))}.text-foreground{--tw-text-opacity:1;color:hsl(var(--foreground) / var(--tw-text-opacity,1))}.text-foreground\/50{color:hsl(var(--foreground) / .5)}.text-foreground\/60{color:hsl(var(--foreground) / .6)}.text-foreground\/70{color:hsl(var(--foreground) / .7)}.text-foreground\/80{color:hsl(var(--foreground) / .8)}.text-foreground\/90{color:hsl(var(--foreground) / .9)}.text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.text-indigo-500{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.text-indigo-800{--tw-text-opacity:1;color:rgb(55 48 163/var(--tw-text-opacity,1))}.text-muted-foreground{--tw-text-opacity:1;color:hsl(var(--muted-foreground) / var(--tw-text-opacity,1))}.text-muted-foreground\/30{color:hsl(var(--muted-foreground) / .3)}.text-muted-foreground\/40{color:hsl(var(--muted-foreground) / .4)}.text-muted-foreground\/50{color:hsl(var(--muted-foreground) / .5)}.text-muted-foreground\/60{color:hsl(var(--muted-foreground) / .6)}.text-muted-foreground\/70{color:hsl(var(--muted-foreground) / .7)}.text-orange-400{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.text-orange-800{--tw-text-opacity:1;color:rgb(154 52 18/var(--tw-text-opacity,1))}.text-pink-400{--tw-text-opacity:1;color:rgb(244 114 182/var(--tw-text-opacity,1))}.text-popover-foreground{--tw-text-opacity:1;color:hsl(var(--popover-foreground) / var(--tw-text-opacity,1))}.text-primary{--tw-text-opacity:1;color:hsl(var(--primary) / var(--tw-text-opacity,1))}.text-primary-foreground{--tw-text-opacity:1;color:hsl(var(--primary-foreground) / var(--tw-text-opacity,1))}.text-primary-foreground\/40{color:hsl(var(--primary-foreground) / .4)}.text-primary-foreground\/50{color:hsl(var(--primary-foreground) / .5)}.text-primary-foreground\/60{color:hsl(var(--primary-foreground) / .6)}.text-primary-foreground\/70{color:hsl(var(--primary-foreground) / .7)}.text-primary-foreground\/80{color:hsl(var(--primary-foreground) / .8)}.text-primary-foreground\/90{color:hsl(var(--primary-foreground) / .9)}.text-primary\/20{color:hsl(var(--primary) / .2)}.text-primary\/70{color:hsl(var(--primary) / .7)}.text-primary\/80{color:hsl(var(--primary) / .8)}.text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.text-purple-800{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity,1))}.text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-red-400\/80{color:#f87171cc}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.text-secondary-foreground{--tw-text-opacity:1;color:hsl(var(--secondary-foreground) / var(--tw-text-opacity,1))}.text-sidebar-foreground{--tw-text-opacity:1;color:hsl(var(--sidebar-foreground) / var(--tw-text-opacity,1))}.text-sidebar-foreground\/70{color:hsl(var(--sidebar-foreground) / .7)}.text-sky-600{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1))}.text-transparent{color:#0000}.text-violet-400{--tw-text-opacity:1;color:rgb(167 139 250/var(--tw-text-opacity,1))}.text-violet-600{--tw-text-opacity:1;color:rgb(124 58 237/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/15{color:#ffffff26}.text-white\/20{color:#fff3}.text-white\/25{color:#ffffff40}.text-white\/30{color:#ffffff4d}.text-white\/40{color:#fff6}.text-white\/50{color:#ffffff80}.text-white\/60{color:#fff9}.text-white\/65{color:#ffffffa6}.text-white\/70{color:#ffffffb3}.text-white\/75{color:#ffffffbf}.text-white\/80{color:#fffc}.text-white\/90{color:#ffffffe6}.text-yellow-300{--tw-text-opacity:1;color:rgb(253 224 71/var(--tw-text-opacity,1))}.text-yellow-400{--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity,1))}.text-yellow-400\/60{color:#facc1599}.text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.text-yellow-600{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity,1))}.text-yellow-700{--tw-text-opacity:1;color:rgb(161 98 7/var(--tw-text-opacity,1))}.text-yellow-800{--tw-text-opacity:1;color:rgb(133 77 14/var(--tw-text-opacity,1))}.text-zinc-100{--tw-text-opacity:1;color:rgb(244 244 245/var(--tw-text-opacity,1))}.text-zinc-300{--tw-text-opacity:1;color:rgb(212 212 216/var(--tw-text-opacity,1))}.text-zinc-400{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.text-zinc-500{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity,1))}.text-zinc-600{--tw-text-opacity:1;color:rgb(82 82 91/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.decoration-primary\/50{-webkit-text-decoration-color:hsl(var(--primary) / .5);text-decoration-color:hsl(var(--primary) / .5)}.decoration-dotted{text-decoration-style:dotted}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-\[\#ccff00\]{accent-color:#cf0}.accent-primary{accent-color:hsl(var(--primary) / 1)}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-20{opacity:.2}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.opacity-95{opacity:.95}.shadow{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{--tw-shadow:0 0 0 1px hsl(var(--sidebar-border));--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_0_12px_rgba\(204\,255\,0\,0\.3\)\]{--tw-shadow:0 0 12px #ccff004d;--tw-shadow-colored:0 0 12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_0_20px_rgba\(204\,255\,0\,0\.05\)\]{--tw-shadow:0 0 20px #ccff000d;--tw-shadow-colored:0 0 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_1px_3px_rgba\(0\,0\,0\,0\.02\)\]{--tw-shadow:0 1px 3px #00000005;--tw-shadow-colored:0 1px 3px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_1px_3px_rgba\(0\,0\,0\,0\.2\)\]{--tw-shadow:0 1px 3px #0003;--tw-shadow-colored:0 1px 3px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_20px_60px_rgba\(0\,0\,0\,0\.08\)\]{--tw-shadow:0 20px 60px #00000014;--tw-shadow-colored:0 20px 60px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_2px_10px_rgba\(0\,0\,0\,0\.02\)\]{--tw-shadow:0 2px 10px #00000005;--tw-shadow-colored:0 2px 10px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_30px_80px_rgba\(0\,0\,0\,0\.35\)\]{--tw-shadow:0 30px 80px #00000059;--tw-shadow-colored:0 30px 80px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_30px_80px_rgba\(0\,0\,0\,0\.6\)\]{--tw-shadow:0 30px 80px #0009;--tw-shadow-colored:0 30px 80px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_8px_30px_rgba\(204\,255\,0\,0\.2\)\]{--tw-shadow:0 8px 30px #cf03;--tw-shadow-colored:0 8px 30px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_8px_40px_rgba\(0\,0\,0\,0\.5\)\]{--tw-shadow:0 8px 40px #00000080;--tw-shadow-colored:0 8px 40px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[\#c8ff00\]\/20{--tw-shadow-color:#c8ff0033;--tw-shadow:var(--tw-shadow-colored)}.shadow-\[\#c8ff00\]\/5{--tw-shadow-color:#c8ff000d;--tw-shadow:var(--tw-shadow-colored)}.shadow-\[\#ccff00\]\/20{--tw-shadow-color:#cf03;--tw-shadow:var(--tw-shadow-colored)}.shadow-\[\#ccff00\]\/30{--tw-shadow-color:#ccff004d;--tw-shadow:var(--tw-shadow-colored)}.shadow-black\/10{--tw-shadow-color:#0000001a;--tw-shadow:var(--tw-shadow-colored)}.shadow-black\/20{--tw-shadow-color:#0003;--tw-shadow:var(--tw-shadow-colored)}.shadow-black\/5{--tw-shadow-color:#0000000d;--tw-shadow:var(--tw-shadow-colored)}.shadow-primary\/20{--tw-shadow-color:hsl(var(--primary) / .2);--tw-shadow:var(--tw-shadow-colored)}.shadow-primary\/25{--tw-shadow-color:hsl(var(--primary) / .25);--tw-shadow:var(--tw-shadow-colored)}.shadow-primary\/40{--tw-shadow-color:hsl(var(--primary) / .4);--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline-offset:2px;outline:2px solid #0000}.outline{outline-style:solid}.outline-2{outline-width:2px}.outline-offset-2{outline-offset:2px}.outline-transparent{outline-color:#0000}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-4{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-\[\#ccff00\]{--tw-ring-opacity:1;--tw-ring-color:rgb(204 255 0/var(--tw-ring-opacity,1))}.ring-\[\#ccff00\]\/20{--tw-ring-color:#cf03}.ring-background{--tw-ring-opacity:1;--tw-ring-color:hsl(var(--background) / var(--tw-ring-opacity,1))}.ring-blue-400{--tw-ring-opacity:1;--tw-ring-color:rgb(96 165 250/var(--tw-ring-opacity,1))}.ring-border\/60{--tw-ring-color:hsl(var(--border) / .6)}.ring-emerald-500\/40{--tw-ring-color:#10b98166}.ring-gray-200\/50{--tw-ring-color:#e5e7eb80}.ring-green-400{--tw-ring-opacity:1;--tw-ring-color:rgb(74 222 128/var(--tw-ring-opacity,1))}.ring-muted-foreground{--tw-ring-opacity:1;--tw-ring-color:hsl(var(--muted-foreground) / var(--tw-ring-opacity,1))}.ring-muted-foreground\/30{--tw-ring-color:hsl(var(--muted-foreground) / .3)}.ring-primary{--tw-ring-opacity:1;--tw-ring-color:hsl(var(--primary) / var(--tw-ring-opacity,1))}.ring-primary\/15{--tw-ring-color:hsl(var(--primary) / .15)}.ring-primary\/20{--tw-ring-color:hsl(var(--primary) / .2)}.ring-primary\/30{--tw-ring-color:hsl(var(--primary) / .3)}.ring-primary\/40{--tw-ring-color:hsl(var(--primary) / .4)}.ring-primary\/50{--tw-ring-color:hsl(var(--primary) / .5)}.ring-red-400{--tw-ring-opacity:1;--tw-ring-color:rgb(248 113 113/var(--tw-ring-opacity,1))}.ring-red-400\/40{--tw-ring-color:#f8717166}.ring-ring{--tw-ring-opacity:1;--tw-ring-color:hsl(var(--ring) / var(--tw-ring-opacity,1))}.ring-sidebar-ring{--tw-ring-opacity:1;--tw-ring-color:hsl(var(--sidebar-ring) / var(--tw-ring-opacity,1))}.ring-white\/50{--tw-ring-color:#ffffff80}.ring-yellow-400{--tw-ring-opacity:1;--tw-ring-color:rgb(250 204 21/var(--tw-ring-opacity,1))}.ring-yellow-500\/40{--tw-ring-color:#eab30866}.ring-offset-2{--tw-ring-offset-width:2px}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background) / 1)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-2xl{--tw-blur:blur(40px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-3xl{--tw-blur:blur(64px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-\[100px\]{--tw-blur:blur(100px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-\[120px\]{--tw-blur:blur(120px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-\[150px\]{--tw-blur:blur(150px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-\[60px\]{--tw-blur:blur(60px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-\[80px\]{--tw-blur:blur(80px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-sm{--tw-blur:blur(4px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-xl{--tw-blur:blur(24px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-\[0_0_30px_rgba\(239\,68\,68\,0\.6\)\]{--tw-drop-shadow:drop-shadow(0 0 30px #ef444499);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-lg{--tw-backdrop-blur:blur(16px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-xl{--tw-backdrop-blur:blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[left\,right\,width\]{transition-property:left,right,width;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[margin\,opacity\]{transition-property:margin,opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[transform\,box-shadow\]{transition-property:transform,box-shadow;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[width\]{transition-property:width;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-shadow{transition-property:box-shadow;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-100{transition-duration:.1s}.duration-1000{transition-duration:1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{transition-timing-function:linear}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0), var(--tw-enter-translate-y,0), 0) scale3d(var(--tw-enter-scale,1), var(--tw-enter-scale,1), var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0), var(--tw-exit-translate-y,0), 0) scale3d(var(--tw-exit-scale,1), var(--tw-exit-scale,1), var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.animate-in{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.fade-in,.fade-in-0{--tw-enter-opacity:0}.zoom-in-95{--tw-enter-scale:.95}.slide-in-from-top-1{--tw-enter-translate-y:-.25rem}.duration-100{animation-duration:.1s}.duration-1000{animation-duration:1s}.duration-150{animation-duration:.15s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.duration-500{animation-duration:.5s}.duration-700{animation-duration:.7s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{animation-timing-function:linear}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.running{animation-play-state:running}.paused{animation-play-state:paused}input[type=search]::-webkit-search-cancel-button{display:none}[contenteditable][data-placeholder]:empty:before{content:attr(data-placeholder);color:hsl(var(--muted-foreground));pointer-events:none}.\[border-color\:var\(--badge-outline\)\]{border-color:var(--badge-outline)}.\[border-color\:var\(--button-outline\)\]{border-color:var(--button-outline)}:root{--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--ease-drawer:cubic-bezier(.32, .72, 0, 1);--button-outline:#0000000f;--badge-outline:#0000000a;--elevate-1:#00000005;--elevate-2:#0000000a;--background:0 0% 100%;--foreground:0 0% 8%;--border:0 0% 90%;--card:0 0% 100%;--card-foreground:0 0% 8%;--card-border:0 0% 90%;--sidebar:0 0% 98%;--sidebar-foreground:0 0% 8%;--sidebar-border:0 0% 90%;--sidebar-primary:76 87% 63%;--sidebar-primary-foreground:0 0% 0%;--sidebar-accent:0 0% 95%;--sidebar-accent-foreground:0 0% 8%;--sidebar-ring:76 87% 63%;--popover:0 0% 100%;--popover-foreground:0 0% 8%;--popover-border:0 0% 90%;--primary:76 87% 63%;--primary-foreground:0 0% 0%;--secondary:0 0% 96%;--secondary-foreground:0 0% 20%;--muted:0 0% 96%;--muted-foreground:0 0% 30%;--accent:76 87% 95%;--accent-foreground:76 87% 35%;--destructive:0 84% 60%;--destructive-foreground:0 0% 100%;--input:0 0% 88%;--ring:76 87% 63%;--chart-1:76 87% 63%;--chart-2:0 0% 30%;--chart-3:0 0% 50%;--chart-4:0 0% 70%;--chart-5:76 80% 55%;--font-sans:var(--font-inter,"Inter"), -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display:"Satoshi", var(--font-inter,"Inter"), -apple-system, BlinkMacSystemFont, sans-serif;--font-serif:Georgia, serif;--font-mono:"SF Mono", Menlo, Monaco, "Courier New", monospace;--radius:.5rem;--shadow-2xs:0px 1px 2px 0px #00000005;--shadow-xs:0px 1px 2px 0px #00000008;--shadow-sm:0px 1px 3px 0px #0000000a;--shadow:0px 1px 3px 0px #0000000a;--shadow-md:0px 2px 4px 0px #0000000d;--shadow-lg:0px 4px 6px 0px #0000000f;--shadow-xl:0px 6px 10px 0px #00000014;--shadow-2xl:0px 8px 16px 0px #0000001a;--tracking-normal:0em;--spacing:.25rem}.dark{--button-outline:#ffffff0f;--badge-outline:#ffffff0a;--elevate-1:#ffffff05;--elevate-2:#ffffff0d;--background:0 0% 4%;--foreground:0 0% 96%;--border:0 0% 16%;--card:0 0% 7%;--card-foreground:0 0% 96%;--card-border:0 0% 16%;--sidebar:0 0% 4%;--sidebar-foreground:0 0% 96%;--sidebar-border:0 0% 12%;--sidebar-primary:76 87% 63%;--sidebar-primary-foreground:0 0% 0%;--sidebar-accent:0 0% 12%;--sidebar-accent-foreground:0 0% 96%;--sidebar-ring:76 87% 63%;--popover:0 0% 8%;--popover-foreground:0 0% 96%;--popover-border:0 0% 18%;--primary:76 87% 63%;--primary-foreground:0 0% 0%;--secondary:0 0% 14%;--secondary-foreground:0 0% 90%;--muted:0 0% 14%;--muted-foreground:0 0% 80%;--accent:76 87% 12%;--accent-foreground:76 87% 70%;--destructive:0 70% 50%;--destructive-foreground:0 0% 100%;--input:0 0% 24%;--ring:76 87% 63%;--chart-1:76 87% 63%;--chart-2:0 0% 70%;--chart-3:0 0% 50%;--chart-4:0 0% 30%;--chart-5:76 80% 60%;--shadow-2xs:0px 1px 2px 0px #0000001a;--shadow-xs:0px 1px 2px 0px #00000026;--shadow-sm:0px 1px 3px 0px #0003;--shadow:0px 1px 3px 0px #0003;--shadow-md:0px 2px 4px 0px #00000040;--shadow-lg:0px 4px 6px 0px #0000004d;--shadow-xl:0px 6px 10px 0px #00000059;--shadow-2xl:0px 8px 16px 0px #0006}.toggle-elevate:before,.toggle-elevate-2:before{content:"";pointer-events:none;border-radius:inherit;z-index:-1;position:absolute;inset:0}.toggle-elevate.toggle-elevated:before{background-color:var(--elevate-2)}.hover-elevate:not(.no-default-hover-elevate),.active-elevate:not(.no-default-active-elevate),.hover-elevate-2:not(.no-default-hover-elevate),.active-elevate-2:not(.no-default-active-elevate){z-index:0;position:relative}.hover-elevate:not(.no-default-hover-elevate):after,.active-elevate:not(.no-default-active-elevate):after,.hover-elevate-2:not(.no-default-hover-elevate):after,.active-elevate-2:not(.no-default-active-elevate):after{content:"";pointer-events:none;border-radius:inherit;z-index:999;position:absolute;inset:0}.hover-elevate:hover:not(.no-default-hover-elevate):after,.active-elevate:active:not(.no-default-active-elevate):after{background-color:var(--elevate-1)}.hover-elevate-2:hover:not(.no-default-hover-elevate):after,.active-elevate-2:active:not(.no-default-active-elevate):after{background-color:var(--elevate-2)}@keyframes shimmer{0%{opacity:.4}50%{opacity:.7}to{opacity:.4}}.animate-shimmer{animation:1.5s ease-in-out infinite shimmer}[data-radix-accordion-content]{contain:paint}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html{scroll-behavior:auto}}.scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:hsl(var(--muted-foreground) / .2);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:hsl(var(--muted-foreground) / .35)}*{scrollbar-width:thin;scrollbar-color:hsl(var(--muted-foreground) / .2) transparent}:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}@media (hover:hover) and (pointer:fine){.hover-elevate:not(.no-default-hover-elevate):after,.hover-elevate-2:not(.no-default-hover-elevate):after{transition:background-color .15s var(--ease-out)}}button:not(:disabled),[role=button]:not(:disabled),.pressable{transition:transform .16s var(--ease-out)}button:not(:disabled):active,[role=button]:not(:disabled):active,.pressable:active{transform:scale(.97)}media-player{--media-brand:#cf0}@keyframes p2l-eq{0%{transform:scaleY(.4)}to{transform:scaleY(1)}}.dark\:prose-invert:is(.dark *){--tw-prose-body:var(--tw-prose-invert-body);--tw-prose-headings:var(--tw-prose-invert-headings);--tw-prose-lead:var(--tw-prose-invert-lead);--tw-prose-links:var(--tw-prose-invert-links);--tw-prose-bold:var(--tw-prose-invert-bold);--tw-prose-counters:var(--tw-prose-invert-counters);--tw-prose-bullets:var(--tw-prose-invert-bullets);--tw-prose-hr:var(--tw-prose-invert-hr);--tw-prose-quotes:var(--tw-prose-invert-quotes);--tw-prose-quote-borders:var(--tw-prose-invert-quote-borders);--tw-prose-captions:var(--tw-prose-invert-captions);--tw-prose-kbd:var(--tw-prose-invert-kbd);--tw-prose-kbd-shadows:var(--tw-prose-invert-kbd-shadows);--tw-prose-code:var(--tw-prose-invert-code);--tw-prose-pre-code:var(--tw-prose-invert-pre-code);--tw-prose-pre-bg:var(--tw-prose-invert-pre-bg);--tw-prose-th-borders:var(--tw-prose-invert-th-borders);--tw-prose-td-borders:var(--tw-prose-invert-td-borders)}.marker\:hidden ::marker{display:none}.marker\:text-primary\/70 ::marker{color:hsl(var(--primary) / .7)}.marker\:hidden::marker{display:none}.marker\:text-primary\/70::marker{color:hsl(var(--primary) / .7)}.file\:border-0::file-selector-button{border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-foreground::file-selector-button{--tw-text-opacity:1;color:hsl(var(--foreground) / var(--tw-text-opacity,1))}.placeholder\:text-gray-600::placeholder{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.placeholder\:text-muted-foreground::placeholder{--tw-text-opacity:1;color:hsl(var(--muted-foreground) / var(--tw-text-opacity,1))}.placeholder\:text-muted-foreground\/60::placeholder{color:hsl(var(--muted-foreground) / .6)}.placeholder\:text-white\/20::placeholder{color:#fff3}.placeholder\:text-white\/25::placeholder{color:#ffffff40}.after\:pointer-events-none:after{content:var(--tw-content);pointer-events:none}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);inset:-.5rem}.after\:inset-0:after{content:var(--tw-content);inset:0}.after\:inset-y-0:after{content:var(--tw-content);top:0;bottom:0}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:block:after{content:var(--tw-content);display:block}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.after\:rounded-full:after{content:var(--tw-content);border-radius:9999px}.after\:border:after{content:var(--tw-content);border-width:1px}.after\:border-black\/10:after{content:var(--tw-content);border-color:#0000001a}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.first\:rounded-l-md:first-child{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.first\:rounded-l-xl:first-child{border-top-left-radius:.75rem;border-bottom-left-radius:.75rem}.first\:border-l:first-child{border-left-width:1px}.last\:mb-0:last-child{margin-bottom:0}.last\:rounded-r-md:last-child{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.last\:rounded-r-xl:last-child{border-top-right-radius:.75rem;border-bottom-right-radius:.75rem}.last\:border-0:last-child{border-width:0}.last\:border-b-0:last-child{border-bottom-width:0}.last\:pb-0:last-child{padding-bottom:0}.odd\:bg-muted\/20:nth-child(odd){background-color:hsl(var(--muted) / .2)}.hover\:-translate-y-1:hover{--tw-translate-y:-.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-100:hover{--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-\[\#c8ff00\]\/50:hover{border-color:#c8ff0080}.hover\:border-\[\#c8ff00\]\/60:hover{border-color:#c8ff0099}.hover\:border-\[\#ccff00\]:hover{--tw-border-opacity:1;border-color:rgb(204 255 0/var(--tw-border-opacity,1))}.hover\:border-\[\#ccff00\]\/20:hover{border-color:#cf03}.hover\:border-\[\#ccff00\]\/30:hover{border-color:#ccff004d}.hover\:border-\[\#ccff00\]\/60:hover{border-color:#cf09}.hover\:border-blue-400:hover{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.hover\:border-border:hover{--tw-border-opacity:1;border-color:hsl(var(--border) / var(--tw-border-opacity,1))}.hover\:border-border\/60:hover{border-color:hsl(var(--border) / .6)}.hover\:border-gray-200:hover{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.hover\:border-gray-400:hover{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity,1))}.hover\:border-muted-foreground:hover{--tw-border-opacity:1;border-color:hsl(var(--muted-foreground) / var(--tw-border-opacity,1))}.hover\:border-muted-foreground\/50:hover{border-color:hsl(var(--muted-foreground) / .5)}.hover\:border-orange-500\/40:hover{border-color:#f9731666}.hover\:border-primary\/20:hover{border-color:hsl(var(--primary) / .2)}.hover\:border-primary\/30:hover{border-color:hsl(var(--primary) / .3)}.hover\:border-primary\/40:hover{border-color:hsl(var(--primary) / .4)}.hover\:border-primary\/60:hover{border-color:hsl(var(--primary) / .6)}.hover\:border-white\/10:hover{border-color:#ffffff1a}.hover\:border-white\/20:hover{border-color:#fff3}.hover\:border-white\/25:hover{border-color:#ffffff40}.hover\:border-white\/40:hover{border-color:#fff6}.hover\:border-yellow-400:hover{--tw-border-opacity:1;border-color:rgb(250 204 21/var(--tw-border-opacity,1))}.hover\:border-zinc-500:hover{--tw-border-opacity:1;border-color:rgb(113 113 122/var(--tw-border-opacity,1))}.hover\:bg-\[\#b2dd3e\]:hover{--tw-bg-opacity:1;background-color:rgb(178 221 62/var(--tw-bg-opacity,1))}.hover\:bg-\[\#b5e600\]:hover{--tw-bg-opacity:1;background-color:rgb(181 230 0/var(--tw-bg-opacity,1))}.hover\:bg-\[\#b8e600\]:hover{--tw-bg-opacity:1;background-color:rgb(184 230 0/var(--tw-bg-opacity,1))}.hover\:bg-\[\#b8ef00\]:hover{--tw-bg-opacity:1;background-color:rgb(184 239 0/var(--tw-bg-opacity,1))}.hover\:bg-\[\#bff000\]:hover{--tw-bg-opacity:1;background-color:rgb(191 240 0/var(--tw-bg-opacity,1))}.hover\:bg-\[\#c8ff00\]:hover{--tw-bg-opacity:1;background-color:rgb(200 255 0/var(--tw-bg-opacity,1))}.hover\:bg-\[\#ccff00\]:hover{--tw-bg-opacity:1;background-color:rgb(204 255 0/var(--tw-bg-opacity,1))}.hover\:bg-\[\#ccff00\]\/\[0\.02\]:hover{background-color:#ccff0005}.hover\:bg-accent:hover{--tw-bg-opacity:1;background-color:hsl(var(--accent) / var(--tw-bg-opacity,1))}.hover\:bg-accent\/30:hover{background-color:hsl(var(--accent) / .3)}.hover\:bg-accent\/40:hover{background-color:hsl(var(--accent) / .4)}.hover\:bg-accent\/50:hover{background-color:hsl(var(--accent) / .5)}.hover\:bg-background:hover{--tw-bg-opacity:1;background-color:hsl(var(--background) / var(--tw-bg-opacity,1))}.hover\:bg-black\/20:hover{background-color:#0003}.hover\:bg-black\/30:hover{background-color:#0000004d}.hover\:bg-black\/5:hover{background-color:#0000000d}.hover\:bg-black\/80:hover{background-color:#000c}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.hover\:bg-card\/80:hover{background-color:hsl(var(--card) / .8)}.hover\:bg-destructive\/10:hover{background-color:hsl(var(--destructive) / .1)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-emerald-500\/10:hover{background-color:#10b9811a}.hover\:bg-foreground\/10:hover{background-color:hsl(var(--foreground) / .1)}.hover\:bg-foreground\/15:hover{background-color:hsl(var(--foreground) / .15)}.hover\:bg-foreground\/50:hover{background-color:hsl(var(--foreground) / .5)}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:bg-gray-900:hover{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.hover\:bg-gray-900\/40:hover{background-color:#11182766}.hover\:bg-gray-900\/50:hover{background-color:#11182780}.hover\:bg-green-500\/10:hover{background-color:#22c55e1a}.hover\:bg-lime-400:hover{--tw-bg-opacity:1;background-color:rgb(163 230 53/var(--tw-bg-opacity,1))}.hover\:bg-muted:hover{--tw-bg-opacity:1;background-color:hsl(var(--muted) / var(--tw-bg-opacity,1))}.hover\:bg-muted\/20:hover{background-color:hsl(var(--muted) / .2)}.hover\:bg-muted\/30:hover{background-color:hsl(var(--muted) / .3)}.hover\:bg-muted\/40:hover{background-color:hsl(var(--muted) / .4)}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted) / .5)}.hover\:bg-muted\/60:hover{background-color:hsl(var(--muted) / .6)}.hover\:bg-muted\/70:hover{background-color:hsl(var(--muted) / .7)}.hover\:bg-muted\/80:hover{background-color:hsl(var(--muted) / .8)}.hover\:bg-orange-500\/10:hover{background-color:#f973161a}.hover\:bg-orange-500\/15:hover{background-color:#f9731626}.hover\:bg-orange-700:hover{--tw-bg-opacity:1;background-color:rgb(194 65 12/var(--tw-bg-opacity,1))}.hover\:bg-primary:hover{--tw-bg-opacity:1;background-color:hsl(var(--primary) / var(--tw-bg-opacity,1))}.hover\:bg-primary\/10:hover{background-color:hsl(var(--primary) / .1)}.hover\:bg-primary\/20:hover{background-color:hsl(var(--primary) / .2)}.hover\:bg-primary\/5:hover{background-color:hsl(var(--primary) / .05)}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary) / .8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-purple-500\/10:hover{background-color:#a855f71a}.hover\:bg-purple-600:hover{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.hover\:bg-red-500\/10:hover{background-color:#ef44441a}.hover\:bg-secondary:hover{--tw-bg-opacity:1;background-color:hsl(var(--secondary) / var(--tw-bg-opacity,1))}.hover\:bg-sidebar-accent:hover{--tw-bg-opacity:1;background-color:hsl(var(--sidebar-accent) / var(--tw-bg-opacity,1))}.hover\:bg-transparent:hover{background-color:#0000}.hover\:bg-white\/10:hover{background-color:#ffffff1a}.hover\:bg-white\/15:hover{background-color:#ffffff26}.hover\:bg-white\/20:hover{background-color:#fff3}.hover\:bg-white\/5:hover{background-color:#ffffff0d}.hover\:bg-white\/\[0\.04\]:hover{background-color:#ffffff0a}.hover\:bg-white\/\[0\.06\]:hover{background-color:#ffffff0f}.hover\:bg-white\/\[0\.08\]:hover{background-color:#ffffff14}.hover\:bg-zinc-800:hover{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.hover\:from-\[\#c8ff00\]\/25:hover{--tw-gradient-from:#c8ff0040 var(--tw-gradient-from-position);--tw-gradient-to:#c8ff0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.hover\:text-\[\#b8e600\]:hover{--tw-text-opacity:1;color:rgb(184 230 0/var(--tw-text-opacity,1))}.hover\:text-\[\#c8ff00\]:hover{--tw-text-opacity:1;color:rgb(200 255 0/var(--tw-text-opacity,1))}.hover\:text-\[\#ccff00\]:hover{--tw-text-opacity:1;color:rgb(204 255 0/var(--tw-text-opacity,1))}.hover\:text-black:hover{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.hover\:text-destructive:hover{--tw-text-opacity:1;color:hsl(var(--destructive) / var(--tw-text-opacity,1))}.hover\:text-emerald-300:hover{--tw-text-opacity:1;color:rgb(110 231 183/var(--tw-text-opacity,1))}.hover\:text-foreground:hover{--tw-text-opacity:1;color:hsl(var(--foreground) / var(--tw-text-opacity,1))}.hover\:text-gray-200:hover{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.hover\:text-gray-300:hover{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.hover\:text-green-300:hover{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.hover\:text-primary:hover{--tw-text-opacity:1;color:hsl(var(--primary) / var(--tw-text-opacity,1))}.hover\:text-primary-foreground:hover{--tw-text-opacity:1;color:hsl(var(--primary-foreground) / var(--tw-text-opacity,1))}.hover\:text-primary-foreground\/70:hover{color:hsl(var(--primary-foreground) / .7)}.hover\:text-primary\/70:hover{color:hsl(var(--primary) / .7)}.hover\:text-primary\/80:hover{color:hsl(var(--primary) / .8)}.hover\:text-red-200:hover{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.hover\:text-red-300:hover{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.hover\:text-red-400:hover{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.hover\:text-sidebar-accent-foreground:hover{--tw-text-opacity:1;color:hsl(var(--sidebar-accent-foreground) / var(--tw-text-opacity,1))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:text-white\/40:hover{color:#fff6}.hover\:text-white\/50:hover{color:#ffffff80}.hover\:text-white\/60:hover{color:#fff9}.hover\:text-white\/70:hover{color:#ffffffb3}.hover\:text-white\/80:hover{color:#fffc}.hover\:text-zinc-100:hover{--tw-text-opacity:1;color:rgb(244 244 245/var(--tw-text-opacity,1))}.hover\:text-zinc-400:hover{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:decoration-primary:hover{-webkit-text-decoration-color:hsl(var(--primary) / 1);text-decoration-color:hsl(var(--primary) / 1)}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover{--tw-shadow:0 0 0 1px hsl(var(--sidebar-accent));--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.hover\:shadow-\[0_0_15px_rgba\(204\,255\,0\,0\.04\)\]:hover{--tw-shadow:0 0 15px #ccff000a;--tw-shadow-colored:0 0 15px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.hover\:shadow-\[0_4px_16px_rgba\(0\,0\,0\,0\.06\)\]:hover{--tw-shadow:0 4px 16px #0000000f;--tw-shadow-colored:0 4px 16px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.hover\:shadow-\[0_8px_30px_rgba\(0\,0\,0\,0\.06\)\]:hover{--tw-shadow:0 8px 30px #0000000f;--tw-shadow-colored:0 8px 30px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.hover\:shadow-sm:hover{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.hover\:shadow-black\/10:hover{--tw-shadow-color:#0000001a;--tw-shadow:var(--tw-shadow-colored)}.hover\:ring-1:hover{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.hover\:ring-2:hover{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.hover\:ring-muted:hover{--tw-ring-opacity:1;--tw-ring-color:hsl(var(--muted) / var(--tw-ring-opacity,1))}.hover\:ring-primary\/30:hover{--tw-ring-color:hsl(var(--primary) / .3)}.hover\:ring-primary\/50:hover{--tw-ring-color:hsl(var(--primary) / .5)}.hover\:after\:bg-sidebar-border:hover:after{content:var(--tw-content);--tw-bg-opacity:1;background-color:hsl(var(--sidebar-border) / var(--tw-bg-opacity,1))}.focus\:translate-y-0:focus{--tw-translate-y:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.focus\:border-\[\#ccff00\]\/40:focus{border-color:#cf06}.focus\:border-primary:focus{--tw-border-opacity:1;border-color:hsl(var(--primary) / var(--tw-border-opacity,1))}.focus\:border-primary\/30:focus{border-color:hsl(var(--primary) / .3)}.focus\:border-primary\/40:focus{border-color:hsl(var(--primary) / .4)}.focus\:border-primary\/50:focus{border-color:hsl(var(--primary) / .5)}.focus\:bg-accent:focus{--tw-bg-opacity:1;background-color:hsl(var(--accent) / var(--tw-bg-opacity,1))}.focus\:bg-background:focus{--tw-bg-opacity:1;background-color:hsl(var(--background) / var(--tw-bg-opacity,1))}.focus\:text-accent-foreground:focus{--tw-text-opacity:1;color:hsl(var(--accent-foreground) / var(--tw-text-opacity,1))}.focus\:text-destructive:focus{--tw-text-opacity:1;color:hsl(var(--destructive) / var(--tw-text-opacity,1))}.focus\:opacity-100:focus{opacity:1}.focus\:outline-none:focus{outline-offset:2px;outline:2px solid #0000}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus\:ring-\[\#ccff00\]\/10:focus{--tw-ring-color:#ccff001a}.focus\:ring-\[\#ccff00\]\/30:focus{--tw-ring-color:#ccff004d}.focus\:ring-primary\/30:focus{--tw-ring-color:hsl(var(--primary) / .3)}.focus\:ring-primary\/40:focus{--tw-ring-color:hsl(var(--primary) / .4)}.focus\:ring-ring:focus{--tw-ring-opacity:1;--tw-ring-color:hsl(var(--ring) / var(--tw-ring-opacity,1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:border-primary\/60:focus-visible{border-color:hsl(var(--primary) / .6)}.focus-visible\:outline-none:focus-visible{outline-offset:2px;outline:2px solid #0000}.focus-visible\:ring-0:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-primary:focus-visible{--tw-ring-opacity:1;--tw-ring-color:hsl(var(--primary) / var(--tw-ring-opacity,1))}.focus-visible\:ring-primary\/40:focus-visible{--tw-ring-color:hsl(var(--primary) / .4)}.focus-visible\:ring-ring:focus-visible{--tw-ring-opacity:1;--tw-ring-color:hsl(var(--ring) / var(--tw-ring-opacity,1))}.focus-visible\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:hsl(var(--background) / 1)}.active\:scale-95:active{--tw-scale-x:.95;--tw-scale-y:.95;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-\[0\.98\]:active{--tw-scale-x:.98;--tw-scale-y:.98;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-\[0\.99\]:active{--tw-scale-x:.99;--tw-scale-y:.99;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:cursor-grabbing:active{cursor:grabbing}.active\:bg-muted:active{--tw-bg-opacity:1;background-color:hsl(var(--muted) / var(--tw-bg-opacity,1))}.active\:bg-sidebar-accent:active{--tw-bg-opacity:1;background-color:hsl(var(--sidebar-accent) / var(--tw-bg-opacity,1))}.active\:text-sidebar-accent-foreground:active{--tw-text-opacity:1;color:hsl(var(--sidebar-accent-foreground) / var(--tw-text-opacity,1))}.active\:shadow-none:active{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.group\/menu-item:focus-within .group-focus-within\/menu-item\:opacity-100{opacity:1}.group:hover .group-hover\:flex{display:flex}.group:hover .group-hover\:hidden{display:none}.group:hover .group-hover\:-translate-y-1{--tw-translate-y:-.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-1{--tw-translate-x:.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/tile:hover .group-hover\/tile\:scale-\[1\.03\]{--tw-scale-x:1.03;--tw-scale-y:1.03;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:bg-\[\#ccff00\]{--tw-bg-opacity:1;background-color:rgb(204 255 0/var(--tw-bg-opacity,1))}.group:hover .group-hover\:bg-\[\#ccff00\]\/20{background-color:#cf03}.group:hover .group-hover\:bg-black\/40{background-color:#0006}.group:hover .group-hover\:bg-muted\/50{background-color:hsl(var(--muted) / .5)}.group:hover .group-hover\:text-\[\#ccff00\]{--tw-text-opacity:1;color:rgb(204 255 0/var(--tw-text-opacity,1))}.group:hover .group-hover\:text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.group:hover .group-hover\:text-black\/60{color:#0009}.group:hover .group-hover\:text-muted-foreground\/60{color:hsl(var(--muted-foreground) / .6)}.group:hover .group-hover\:text-primary{--tw-text-opacity:1;color:hsl(var(--primary) / var(--tw-text-opacity,1))}.group\/card:hover .group-hover\/card\:opacity-0{opacity:0}.group\/card:hover .group-hover\/card\:opacity-100,.group\/column:hover .group-hover\/column\:opacity-100,.group\/menu-item:hover .group-hover\/menu-item\:opacity-100,.group\/prompt:hover .group-hover\/prompt\:opacity-100,.group\/row:hover .group-hover\/row\:opacity-100,.group\/skill:hover .group-hover\/skill\:opacity-100,.group\/tile:hover .group-hover\/tile\:opacity-100,.group:hover .group-hover\:opacity-100,.group\/tile:focus-visible .group-focus-visible\/tile\:opacity-100{opacity:1}.group.destructive .group-\[\.destructive\]\:border-muted\/40{border-color:hsl(var(--muted) / .4)}.group.destructive .group-\[\.destructive\]\:text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover{border-color:hsl(var(--destructive) / .3)}.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover{--tw-bg-opacity:1;background-color:hsl(var(--destructive) / var(--tw-bg-opacity,1))}.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover{--tw-text-opacity:1;color:hsl(var(--destructive-foreground) / var(--tw-text-opacity,1))}.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover{--tw-text-opacity:1;color:rgb(254 242 242/var(--tw-text-opacity,1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus{--tw-ring-opacity:1;--tw-ring-color:hsl(var(--destructive) / var(--tw-ring-opacity,1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(248 113 113/var(--tw-ring-opacity,1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus{--tw-ring-offset-color:#dc2626}.peer\/menu-button:hover~.peer-hover\/menu-button\:text-sidebar-accent-foreground{--tw-text-opacity:1;color:hsl(var(--sidebar-accent-foreground) / var(--tw-text-opacity,1))}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.has-\[\:disabled\]\:opacity-50:has(:disabled){opacity:.5}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true],.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:-.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:-.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=checked\]\:translate-x-5[data-state=checked]{--tw-translate-x:1.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked],.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel]{--tw-translate-x:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{--tw-translate-x:var(--radix-toast-swipe-end-x);transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{--tw-translate-x:var(--radix-toast-swipe-move-x);transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[active\=true\]\:bg-sidebar-accent[data-active=true]{--tw-bg-opacity:1;background-color:hsl(var(--sidebar-accent) / var(--tw-bg-opacity,1))}.data-\[selected\=\'true\'\]\:bg-accent[data-selected=true]{--tw-bg-opacity:1;background-color:hsl(var(--accent) / var(--tw-bg-opacity,1))}.data-\[state\=active\]\:bg-background[data-state=active]{--tw-bg-opacity:1;background-color:hsl(var(--background) / var(--tw-bg-opacity,1))}.data-\[state\=checked\]\:bg-primary[data-state=checked]{--tw-bg-opacity:1;background-color:hsl(var(--primary) / var(--tw-bg-opacity,1))}.data-\[state\=open\]\:bg-accent[data-state=open]{--tw-bg-opacity:1;background-color:hsl(var(--accent) / var(--tw-bg-opacity,1))}.data-\[state\=open\]\:bg-secondary[data-state=open]{--tw-bg-opacity:1;background-color:hsl(var(--secondary) / var(--tw-bg-opacity,1))}.data-\[state\=selected\]\:bg-muted[data-state=selected]{--tw-bg-opacity:1;background-color:hsl(var(--muted) / var(--tw-bg-opacity,1))}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{--tw-bg-opacity:1;background-color:hsl(var(--input) / var(--tw-bg-opacity,1))}.data-\[active\=true\]\:font-medium[data-active=true]{font-weight:500}.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active=true]{--tw-text-opacity:1;color:hsl(var(--sidebar-accent-foreground) / var(--tw-text-opacity,1))}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{--tw-text-opacity:1;color:hsl(var(--muted-foreground) / var(--tw-text-opacity,1))}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{--tw-text-opacity:1;color:hsl(var(--accent-foreground) / var(--tw-text-opacity,1))}.data-\[state\=active\]\:text-foreground[data-state=active]{--tw-text-opacity:1;color:hsl(var(--foreground) / var(--tw-text-opacity,1))}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{--tw-text-opacity:1;color:hsl(var(--primary-foreground) / var(--tw-text-opacity,1))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{--tw-text-opacity:1;color:hsl(var(--muted-foreground) / var(--tw-text-opacity,1))}.data-\[disabled\=true\]\:opacity-50[data-disabled=true],.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=active\]\:shadow-sm[data-state=active]{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.data-\[swipe\=move\]\:transition-none[data-swipe=move]{transition-property:none}.data-\[state\=closed\]\:duration-150[data-state=closed]{transition-duration:.15s}.data-\[state\=closed\]\:duration-200[data-state=closed]{transition-duration:.2s}.data-\[state\=open\]\:duration-300[data-state=open]{transition-duration:.3s}.data-\[state\=open\]\:animate-in[data-state=open]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.data-\[state\=closed\]\:animate-out[data-state=closed],.data-\[swipe\=end\]\:animate-out[data-swipe=end]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:fade-out-80[data-state=closed]{--tw-exit-opacity:.8}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:.5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:.5rem}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x:-50%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed],.data-\[state\=closed\]\:slide-out-to-right-full[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open],.data-\[state\=open\]\:slide-in-from-bottom-full[data-state=open]{--tw-enter-translate-y:100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x:-50%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y:-48%}.data-\[state\=closed\]\:duration-150[data-state=closed]{animation-duration:.15s}.data-\[state\=closed\]\:duration-200[data-state=closed]{animation-duration:.2s}.data-\[state\=open\]\:duration-300[data-state=open]{animation-duration:.3s}.data-\[state\=open\]\:hover\:bg-sidebar-accent:hover[data-state=open]{--tw-bg-opacity:1;background-color:hsl(var(--sidebar-accent) / var(--tw-bg-opacity,1))}.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground:hover[data-state=open]{--tw-text-opacity:1;color:hsl(var(--sidebar-accent-foreground) / var(--tw-text-opacity,1))}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]{left:calc(var(--sidebar-width) * -1)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]{right:calc(var(--sidebar-width) * -1)}.group[data-side=left] .group-data-\[side\=left\]\:-right-4{right:-1rem}.group[data-side=right] .group-data-\[side\=right\]\:left-0{left:0}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:-mt-8{margin-top:-2rem}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:hidden{display:none}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+var\(--spacing-4\)\)\]{width:calc(var(--sidebar-width-icon) + var(--spacing-4))}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+var\(--spacing-4\)\+2px\)\]{width:calc(var(--sidebar-width-icon) + var(--spacing-4) + 2px)}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[var\(--sidebar-width-icon\)\]{width:var(--sidebar-width-icon)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:w-0{width:0}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:translate-x-0{--tw-translate-x:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group[data-side=right] .group-data-\[side\=right\]\:rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:overflow-hidden{overflow:hidden}.group[data-variant=floating] .group-data-\[variant\=floating\]\:rounded-lg{border-radius:.5625rem}.group[data-variant=floating] .group-data-\[variant\=floating\]\:border{border-width:1px}.group[data-side=left] .group-data-\[side\=left\]\:border-r{border-right-width:1px}.group[data-side=right] .group-data-\[side\=right\]\:border-l{border-left-width:1px}.group[data-variant=floating] .group-data-\[variant\=floating\]\:border-sidebar-border{--tw-border-opacity:1;border-color:hsl(var(--sidebar-border) / var(--tw-border-opacity,1))}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:opacity-0{opacity:0}.group[data-variant=floating] .group-data-\[variant\=floating\]\:shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:after\:left-full:after{content:var(--tw-content);left:100%}.group[data-collapsible=offcanvas] .hover\:group-data-\[collapsible\=offcanvas\]\:bg-sidebar:hover{--tw-bg-opacity:1;background-color:hsl(var(--sidebar) / var(--tw-bg-opacity,1))}.peer\/menu-button[data-size=default]~.peer-data-\[size\=default\]\/menu-button\:top-1\.5{top:.375rem}.peer\/menu-button[data-size=lg]~.peer-data-\[size\=lg\]\/menu-button\:top-2\.5{top:.625rem}.peer\/menu-button[data-size=sm]~.peer-data-\[size\=sm\]\/menu-button\:top-1{top:.25rem}.peer\/menu-button[data-active=true]~.peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground{--tw-text-opacity:1;color:hsl(var(--sidebar-accent-foreground) / var(--tw-text-opacity,1))}@supports ((-webkit-backdrop-filter:var(--tw)) or (backdrop-filter:var(--tw))){.supports-\[backdrop-filter\]\:bg-background\/80{background-color:hsl(var(--background) / .8)}}.dark\:block:is(.dark *){display:block}.dark\:hidden:is(.dark *){display:none}.dark\:border-\[\#ccff00\]\/20:is(.dark *){border-color:#cf03}.dark\:border-amber-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(146 64 14/var(--tw-border-opacity,1))}.dark\:border-blue-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(29 78 216/var(--tw-border-opacity,1))}.dark\:border-indigo-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(55 48 163/var(--tw-border-opacity,1))}.dark\:border-red-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.dark\:border-yellow-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(161 98 7/var(--tw-border-opacity,1))}.dark\:bg-\[\#ccff00\]\/5:is(.dark *){background-color:#ccff000d}.dark\:bg-amber-950\/30:is(.dark *){background-color:#451a034d}.dark\:bg-blue-900\/20:is(.dark *){background-color:#1e3a8a33}.dark\:bg-blue-900\/30:is(.dark *){background-color:#1e3a8a4d}.dark\:bg-blue-950\/30:is(.dark *){background-color:#1725544d}.dark\:bg-emerald-900\/30:is(.dark *){background-color:#064e3b4d}.dark\:bg-gray-900\/30:is(.dark *){background-color:#1118274d}.dark\:bg-green-900\/30:is(.dark *){background-color:#14532d4d}.dark\:bg-indigo-900\/30:is(.dark *){background-color:#312e814d}.dark\:bg-indigo-950\/30:is(.dark *){background-color:#1e1b4b4d}.dark\:bg-orange-900\/30:is(.dark *){background-color:#7c2d124d}.dark\:bg-purple-900\/30:is(.dark *){background-color:#581c874d}.dark\:bg-red-900\/30:is(.dark *){background-color:#7f1d1d4d}.dark\:bg-red-950\/30:is(.dark *){background-color:#450a0a4d}.dark\:bg-slate-900\/30:is(.dark *){background-color:#0f172a4d}.dark\:bg-white\/\[0\.04\]:is(.dark *){background-color:#ffffff0a}.dark\:bg-yellow-900\/20:is(.dark *){background-color:#713f1233}.dark\:from-indigo-950\/30:is(.dark *){--tw-gradient-from:#1e1b4b4d var(--tw-gradient-from-position);--tw-gradient-to:#1e1b4b00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.dark\:to-purple-950\/30:is(.dark *){--tw-gradient-to:#3b07644d var(--tw-gradient-to-position)}.dark\:text-amber-300:is(.dark *){--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.dark\:text-amber-400:is(.dark *){--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.dark\:text-blue-200:is(.dark *){--tw-text-opacity:1;color:rgb(191 219 254/var(--tw-text-opacity,1))}.dark\:text-blue-300:is(.dark *){--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.dark\:text-blue-400:is(.dark *){--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.dark\:text-emerald-300:is(.dark *){--tw-text-opacity:1;color:rgb(110 231 183/var(--tw-text-opacity,1))}.dark\:text-emerald-400:is(.dark *){--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.dark\:text-gray-300:is(.dark *){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.dark\:text-green-300:is(.dark *){--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.dark\:text-indigo-300:is(.dark *){--tw-text-opacity:1;color:rgb(165 180 252/var(--tw-text-opacity,1))}.dark\:text-orange-300:is(.dark *){--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}.dark\:text-purple-300:is(.dark *){--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.dark\:text-red-300:is(.dark *){--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.dark\:text-sky-300:is(.dark *){--tw-text-opacity:1;color:rgb(125 211 252/var(--tw-text-opacity,1))}.dark\:text-slate-300:is(.dark *){--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.dark\:text-violet-300:is(.dark *){--tw-text-opacity:1;color:rgb(196 181 253/var(--tw-text-opacity,1))}.dark\:text-yellow-200:is(.dark *){--tw-text-opacity:1;color:rgb(254 240 138/var(--tw-text-opacity,1))}.dark\:text-yellow-300:is(.dark *){--tw-text-opacity:1;color:rgb(253 224 71/var(--tw-text-opacity,1))}.dark\:text-yellow-400:is(.dark *){--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity,1))}.dark\:after\:border-white\/10:is(.dark *):after{content:var(--tw-content);border-color:#ffffff1a}.dark\:hover\:bg-white\/5:hover:is(.dark *){background-color:#ffffff0d}@media (min-width:640px){.sm\:right-0{right:0}.sm\:ml-1\.5{margin-left:.375rem}.sm\:ml-auto{margin-left:auto}.sm\:mr-1\.5{margin-right:.375rem}.sm\:mt-0{margin-top:0}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:flex{display:flex}.sm\:inline-flex{display:inline-flex}.sm\:table-cell{display:table-cell}.sm\:hidden{display:none}.sm\:h-10{height:2.5rem}.sm\:h-12{height:3rem}.sm\:h-16{height:4rem}.sm\:h-20{height:5rem}.sm\:h-3\.5{height:.875rem}.sm\:h-32{height:8rem}.sm\:h-4{height:1rem}.sm\:h-8{height:2rem}.sm\:h-\[300px\]{height:300px}.sm\:max-h-\[300px\]{max-height:300px}.sm\:max-h-\[320px\]{max-height:320px}.sm\:max-h-\[90vh\]{max-height:90vh}.sm\:min-h-0{min-height:0}.sm\:min-h-\[120px\]{min-height:120px}.sm\:min-h-\[150px\]{min-height:150px}.sm\:min-h-\[200px\]{min-height:200px}.sm\:min-h-\[60px\]{min-height:60px}.sm\:w-12{width:3rem}.sm\:w-14{width:3.5rem}.sm\:w-16{width:4rem}.sm\:w-20{width:5rem}.sm\:w-3\.5{width:.875rem}.sm\:w-4{width:1rem}.sm\:w-48{width:12rem}.sm\:w-60{width:15rem}.sm\:w-8{width:2rem}.sm\:w-\[540px\]{width:540px}.sm\:w-\[95vw\]{width:95vw}.sm\:w-auto{width:auto}.sm\:min-w-\[140px\]{min-width:140px}.sm\:max-w-2xl{max-width:42rem}.sm\:max-w-3xl{max-width:48rem}.sm\:max-w-lg{max-width:32rem}.sm\:max-w-md{max-width:28rem}.sm\:max-w-sm{max-width:24rem}.sm\:max-w-xs{max-width:20rem}.sm\:flex-none{flex:none}.sm\:columns-3{columns:3}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.sm\:grid-cols-\[160px_1fr\]{grid-template-columns:160px 1fr}.sm\:flex-row{flex-direction:row}.sm\:flex-wrap{flex-wrap:wrap}.sm\:items-center{align-items:center}.sm\:justify-start{justify-content:flex-start}.sm\:justify-end{justify-content:flex-end}.sm\:justify-between{justify-content:space-between}.sm\:gap-0{gap:0}.sm\:gap-2{gap:.5rem}.sm\:gap-3{gap:.75rem}.sm\:gap-4{gap:1rem}.sm\:gap-5{gap:1.25rem}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-\[2rem\]{border-radius:2rem}.sm\:rounded-lg{border-radius:.5625rem}.sm\:p-1{padding:.25rem}.sm\:p-4{padding:1rem}.sm\:p-5{padding:1.25rem}.sm\:p-6{padding:1.5rem}.sm\:p-8{padding:2rem}.sm\:px-12{padding-left:3rem;padding-right:3rem}.sm\:px-3{padding-left:.75rem;padding-right:.75rem}.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:px-5{padding-left:1.25rem;padding-right:1.25rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.sm\:py-16{padding-top:4rem;padding-bottom:4rem}.sm\:py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.sm\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.sm\:pb-0{padding-bottom:0}.sm\:pt-6{padding-top:1.5rem}.sm\:text-left{text-align:left}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-5xl{font-size:3rem;line-height:1}.sm\:text-\[14rem\]{font-size:14rem}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:text-xl{font-size:1.25rem;line-height:1.75rem}.sm\:text-xs{font-size:.75rem;line-height:1rem}.sm\:opacity-0{opacity:0}.group\/content:hover .sm\:group-hover\/content\:opacity-100{opacity:1}}@media (min-width:768px){.md\:order-1{order:1}.md\:order-2{order:2}.md\:col-span-1{grid-column:span 1/span 1}.md\:col-span-2{grid-column:span 2/span 2}.md\:row-span-1{grid-row:span 1/span 1}.md\:row-span-3{grid-row:span 3/span 3}.md\:my-4{margin-top:1rem;margin-bottom:1rem}.md\:mb-6{margin-bottom:1.5rem}.md\:block{display:block}.md\:flex{display:flex}.md\:inline-flex{display:inline-flex}.md\:table-cell{display:table-cell}.md\:hidden{display:none}.md\:h-12{height:3rem}.md\:h-16{height:4rem}.md\:h-20{height:5rem}.md\:h-5{height:1.25rem}.md\:h-6{height:1.5rem}.md\:h-7{height:1.75rem}.md\:h-8{height:2rem}.md\:h-9{height:2.25rem}.md\:h-\[90vh\]{height:90vh}.md\:h-auto{height:auto}.md\:max-h-\[90vh\]{max-height:90vh}.md\:min-h-10{min-height:2.5rem}.md\:min-h-8{min-height:2rem}.md\:min-h-9{min-height:2.25rem}.md\:w-12{width:3rem}.md\:w-20{width:5rem}.md\:w-5{width:1.25rem}.md\:w-6{width:1.5rem}.md\:w-7{width:1.75rem}.md\:w-8{width:2rem}.md\:w-9{width:2.25rem}.md\:max-w-\[420px\]{max-width:420px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.md\:grid-cols-\[1fr_minmax\(340px\,420px\)\]{grid-template-columns:1fr minmax(340px,420px)}.md\:grid-cols-\[220px_1fr\]{grid-template-columns:220px 1fr}.md\:grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.md\:grid-rows-3{grid-template-rows:repeat(3,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:gap-4{gap:1rem}.md\:rounded-2xl{border-radius:1rem}.md\:rounded-xl{border-radius:.75rem}.md\:border{border-width:1px}.md\:border-b-0{border-bottom-width:0}.md\:border-l{border-left-width:1px}.md\:border-r{border-right-width:1px}.md\:border-t-0{border-top-width:0}.md\:p-10{padding:2.5rem}.md\:p-16{padding:4rem}.md\:p-4{padding:1rem}.md\:p-6{padding:1.5rem}.md\:p-8{padding:2rem}.md\:px-12{padding-left:3rem;padding-right:3rem}.md\:px-2{padding-left:.5rem;padding-right:.5rem}.md\:px-5{padding-left:1.25rem;padding-right:1.25rem}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.md\:py-20{padding-top:5rem;padding-bottom:5rem}.md\:py-24{padding-top:6rem;padding-bottom:6rem}.md\:py-28{padding-top:7rem;padding-bottom:7rem}.md\:py-32{padding-top:8rem;padding-bottom:8rem}.md\:py-40{padding-top:10rem;padding-bottom:10rem}.md\:pb-0{padding-bottom:0}.md\:pb-20{padding-bottom:5rem}.md\:pb-32{padding-bottom:8rem}.md\:pb-4{padding-bottom:1rem}.md\:pb-6{padding-bottom:1.5rem}.md\:pt-36{padding-top:9rem}.md\:pt-44{padding-top:11rem}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-6xl{font-size:3.75rem;line-height:1}.md\:text-7xl{font-size:4.5rem;line-height:1}.md\:text-8xl{font-size:6rem;line-height:1}.md\:text-\[10px\]{font-size:10px}.md\:text-\[11px\]{font-size:11px}.md\:text-\[18rem\]{font-size:18rem}.md\:text-base{font-size:1rem;line-height:1.5rem}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}.md\:leading-\[1\.15\]{line-height:1.15}.md\:opacity-0{opacity:0}.md\:after\:hidden:after{content:var(--tw-content);display:none}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:m-2{margin:.5rem}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:ml-0{margin-left:0}.peer[data-variant=inset][data-state=collapsed]~.md\:peer-data-\[variant\=inset\]\:peer-data-\[state\=collapsed\]\:ml-2{margin-left:.5rem}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:rounded-xl{border-radius:.75rem}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}}@media (min-width:1024px){.lg\:sticky{position:sticky}.lg\:top-20{top:5rem}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:col-span-9{grid-column:span 9/span 9}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:grid{display:grid}.lg\:hidden{display:none}.lg\:w-\[380px\]{width:380px}.lg\:scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lg\:columns-4{columns:4}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:grid-cols-\[1fr_280px\]{grid-template-columns:1fr 280px}.lg\:grid-cols-\[1fr_400px\]{grid-template-columns:1fr 400px}.lg\:grid-cols-\[minmax\(0\,1fr\)_240px\]{grid-template-columns:minmax(0,1fr) 240px}.lg\:flex-row{flex-direction:row}.lg\:justify-start{justify-content:flex-start}.lg\:gap-12{gap:3rem}.lg\:gap-24{gap:6rem}.lg\:border-l{border-left-width:1px}.lg\:border-t-0{border-top-width:0}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:py-0{padding-top:0;padding-bottom:0}.lg\:text-left{text-align:left}.lg\:text-5xl{font-size:3rem;line-height:1}.lg\:text-6xl{font-size:3.75rem;line-height:1}.lg\:text-7xl{font-size:4.5rem;line-height:1}}@media (min-width:1280px){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.xl\:px-24{padding-left:6rem;padding-right:6rem}.xl\:text-4xl{font-size:2.25rem;line-height:2.5rem}}@media print{.print\:hidden{display:none}}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>\*\]\:mb-3>*{margin-bottom:.75rem}.\[\&\>\*\]\:break-inside-avoid>*{break-inside:avoid}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>span\:last-child\]\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.\[\&\>span\]\:line-clamp-1>span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\[\&\>svg\]\:size-4>svg{width:1rem;height:1rem}.\[\&\>svg\]\:h-3>svg{height:.75rem}.\[\&\>svg\]\:h-4>svg{height:1rem}.\[\&\>svg\]\:w-3>svg{width:.75rem}.\[\&\>svg\]\:w-4>svg{width:1rem}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-sidebar-accent-foreground>svg{--tw-text-opacity:1;color:hsl(var(--sidebar-accent-foreground) / var(--tw-text-opacity,1))}.\[\&\>tr\]\:last\:border-b-0:last-child>tr{border-bottom-width:0}.\[\&\[data-active\]\]\:border-\[\#ccff00\]\/40[data-active]{border-color:#cf06}.\[\&\[data-active\]\]\:ring-2[data-active]{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.\[\&\[data-active\]\]\:ring-\[\#ccff00\]\/40[data-active]{--tw-ring-color:#cf06}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-top:.375rem;padding-bottom:.375rem}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{--tw-text-opacity:1;color:hsl(var(--muted-foreground) / var(--tw-text-opacity,1))}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:1.25rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:1.25rem}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:3rem}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-top:.75rem;padding-bottom:.75rem}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:1.25rem}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:1.25rem}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:-.5rem}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:-.5rem}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize} /*# sourceMappingURL=0acly5yvra9cs.css.map*/</style><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/142hzh-mzkm3a.js"/><script src="/_next/static/chunks/17cwy22yud_5n.js" async=""></script><script src="/_next/static/chunks/13f19r01eq1mb.js" async=""></script><script src="/_next/static/chunks/0dpbbo9-g.afc.js" async=""></script><script src="/_next/static/chunks/0u-577_5hr7jw.js" async=""></script><script src="/_next/static/chunks/turbopack-0bazpyt0.aflt.js" async=""></script><script src="/_next/static/chunks/163smvmc7sr_h.js" async=""></script><script src="/_next/static/chunks/0l_~lw_0b6.t5.js" async=""></script><script src="/_next/static/chunks/0q94-yexyfyyl.js" async=""></script><script src="/_next/static/chunks/0ttd8pj9zihr8.js" async=""></script><script src="/_next/static/chunks/0umau_hntnvs3.js" async=""></script><script src="/_next/static/chunks/0mr_u-.wkn3tb.js" async=""></script><script src="/_next/static/chunks/04ja2um5j4m5r.js" async=""></script><script src="/_next/static/chunks/094cu51jvkq0y.js" async=""></script><script src="/_next/static/chunks/0ed4.pfky9l4..js" async=""></script><script src="/_next/static/chunks/0g1ud6vrq3hxs.js" async=""></script><script src="/_next/static/chunks/0pl~5ozybs3mt.js" async=""></script><script src="/_next/static/chunks/02.tqdjiw02s0.js" async=""></script><script src="/_next/static/chunks/181noede1e-_g.js" async=""></script><script src="/_next/static/chunks/12rp.m41zpc0g.js" async=""></script><script src="/_next/static/chunks/0wjq5i8s3bfoq.js" async=""></script><script src="/_next/static/chunks/09qzf6a8h0nfa.js" async=""></script><script src="/_next/static/chunks/0a9vgyih3ix5..js" async=""></script><link rel="preload" href="/fonts/Satoshi-Regular.woff2" as="font" type="font/woff2" crossorigin="anonymous"/><link rel="preload" href="/fonts/Satoshi-Bold.woff2" as="font" type="font/woff2" crossorigin="anonymous"/><link rel="dns-prefetch" href="https://prompt2love-public.fsn1.your-objectstorage.com"/><link rel="dns-prefetch" href="https://api.polar.sh"/><link rel="preconnect" href="https://www.googletagmanager.com" crossorigin="anonymous"/><link rel="preconnect" href="https://web-sdk.smartlook.com" crossorigin="anonymous"/><link rel="dns-prefetch" href="https://www.google-analytics.com"/><meta name="theme-color" content="#ffffff" media="(prefers-color-scheme: light)"/><meta name="theme-color" content="#0a0a0a" media="(prefers-color-scheme: dark)"/><meta name="next-size-adjust" content=""/><title>Prompt2Love — AI Prompt Library &amp; Community</title><meta name="description" content="Build your AI prompt library. Save, version and share prompts for ChatGPT, Claude, Gemini &amp; more. Free to start."/><link rel="manifest" href="/manifest.json"/><meta name="robots" content="index, follow"/><link rel="canonical" href="https://prompt2love.com"/><link rel="alternate" hrefLang="en" href="https://prompt2love.com"/><link rel="alternate" hrefLang="de" href="https://prompt2love.com/de"/><link rel="alternate" hrefLang="x-default" href="https://prompt2love.com"/><meta name="mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-title" content="Prompt2Love"/><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"/><meta property="og:title" content="Prompt2Love — AI Prompt Library &amp; Community"/><meta property="og:description" content="Build your AI prompt library. Save, version and share prompts for ChatGPT, Claude, Gemini &amp; more. Free to start."/><meta property="og:locale" content="en_US"/><meta property="og:image" content="https://prompt2love.com/og-cover.png"/><meta property="og:image:width" content="1600"/><meta property="og:image:height" content="900"/><meta property="og:image:alt" content="Prompt2Love — AI Prompt Library &amp; Community"/><meta property="og:locale:alternate" content="de_DE"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Prompt2Love — AI Prompt Library &amp; Community"/><meta name="twitter:description" content="Build your AI prompt library. Save, version and share prompts for ChatGPT, Claude, Gemini &amp; more. Free to start."/><meta name="twitter:image" content="https://prompt2love.com/og-cover.png"/><link rel="icon" href="/favicon.ico?favicon.0_uw959wzqm17.ico" sizes="16x16" type="image/x-icon"/><link rel="icon" href="/favicon.ico" sizes="16x16 32x32 48x48" type="image/x-icon"/><link rel="icon" href="/icon.png" sizes="32x32" type="image/png"/><link rel="icon" href="/icon-192.png" sizes="192x192" type="image/png"/><link rel="apple-touch-icon" href="/apple-icon.png"/><meta name="sentry-trace" content="69f843fe8d535267b51b08a329cef023-4192bca4d74f411d"/><meta name="baggage" content="sentry-environment=production,sentry-release=9bb7cfe13b1378e364c42547cbdbc5caa06e2b3d,sentry-public_key=efa3df55a2a6102746d5e9c0584bb972,sentry-trace_id=69f843fe8d535267b51b08a329cef023,sentry-org_id=4511342877605888"/><script src="/_next/static/chunks/03~yq9q893hmn.js" noModule=""></script></head><body class="font-sans antialiased bg-background text-foreground"><div hidden=""><!--$--><!--/$--></div><a href="#main" class="absolute left-2 top-2 z-[100] -translate-y-20 focus:translate-y-0 transition-transform bg-primary text-primary-foreground px-4 py-2 rounded-md text-sm font-medium">Skip to main content</a><main id="main" tabindex="-1"><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebSite","name":"prompt2love","url":"https://prompt2love.com","inLanguage":"en","description":"AI Prompt Library & Community","potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://prompt2love.com/community?search={search_term_string}"},"query-input":"required name=search_term_string"},"publisher":{"@type":"Organization","name":"prompt2love","url":"https://prompt2love.com"}}</script><script type="application/ld+json">{"@context":"https://schema.org","@type":"Organization","name":"prompt2love","url":"https://prompt2love.com","logo":"https://prompt2love.com/logo.png","description":"AI Prompt Library & Community — save, version and share prompts for ChatGPT, Claude, Gemini and more.","sameAs":["https://www.linkedin.com/company/prompt2love","https://x.com/prompt2love","https://www.youtube.com/@prompt2love"],"foundingDate":"2024","contactPoint":{"@type":"ContactPoint","contactType":"customer support","url":"https://prompt2love.com/legal/impressum"}}</script><script type="application/ld+json">{"@context":"https://schema.org","@type":"SoftwareApplication","name":"prompt2love","applicationCategory":"ProductivityApplication","operatingSystem":"Web","url":"https://prompt2love.com","description":"AI Prompt Library & Community — save, version and share prompts for ChatGPT, Claude, Gemini and more.","offers":{"@type":"AggregateOffer","priceCurrency":"CHF","lowPrice":"0","highPrice":"29","offerCount":3},"publisher":{"@type":"Organization","name":"prompt2love","url":"https://prompt2love.com"}}</script><script type="application/ld+json">{"@context":"https://schema.org","@type":"FAQPage","inLanguage":"en","mainEntity":[{"@type":"Question","name":"Is Prompt2Love really free?","acceptedAnswer":{"@type":"Answer","text":"Yes — the free plan is permanently available, with no time limit..."}},{"@type":"Question","name":"What exactly is a prompt vs. a skill?","acceptedAnswer":{"@type":"Answer","text":"A prompt is an instruction for an AI model. A skill is a reusable AI building block..."}},{"@type":"Question","name":"Who is Prompt2Love for?","acceptedAnswer":{"@type":"Answer","text":"For everyone who works regularly with AI..."}},{"@type":"Question","name":"How does the community work?","acceptedAnswer":{"@type":"Answer","text":"In the community you find public prompts and skills from other users..."}},{"@type":"Question","name":"What makes the community different from social media?","acceptedAnswer":{"@type":"Answer","text":"In our community it is about quality, not reach..."}},{"@type":"Question","name":"Can I version my prompts?","acceptedAnswer":{"@type":"Answer","text":"Yes — in the Pro plan every change to a prompt is saved as a new version..."}},{"@type":"Question","name":"What is included in the free plan?","acceptedAnswer":{"@type":"Answer","text":"Up to 30 prompts and 10 skills, 5 prompts with variables..."}},{"@type":"Question","name":"When will the Teams plan arrive?","acceptedAnswer":{"@type":"Answer","text":"The Teams plan with collaboration, unlimited workspaces, and custom branding is currently in development..."}},{"@type":"Question","name":"Can I cancel anytime?","acceptedAnswer":{"@type":"Answer","text":"Yes — you can cancel your plan at any time..."}},{"@type":"Question","name":"Are my prompts safe?","acceptedAnswer":{"@type":"Answer","text":"Absolutely. Your prompts are private by default..."}},{"@type":"Question","name":"Where is my data stored?","acceptedAnswer":{"@type":"Answer","text":"All data is stored on servers in Europe..."}},{"@type":"Question","name":"Are my prompts used for AI training?","acceptedAnswer":{"@type":"Answer","text":"No — your prompts belong to you..."}}]}</script><script type="application/ld+json">{"@context":"https://schema.org","@type":"ItemList","name":"Trending Prompts — Prompt2Love Community","description":"The most popular AI prompts on Prompt2Love","numberOfItems":10,"itemListElement":[{"@type":"ListItem","position":1,"item":{"@type":"CreativeWork","name":"Technical SEO Remediation Blueprint","url":"https://prompt2love.com/community"}},{"@type":"ListItem","position":2,"item":{"@type":"CreativeWork","name":"Service Mesh Configuration","url":"https://prompt2love.com/community"}},{"@type":"ListItem","position":3,"item":{"@type":"CreativeWork","name":"Twitter/X Thread Master Template","url":"https://prompt2love.com/community"}},{"@type":"ListItem","position":4,"item":{"@type":"CreativeWork","name":"Real-Time System Design (WebSockets/Polling)","url":"https://prompt2love.com/community"}},{"@type":"ListItem","position":5,"item":{"@type":"CreativeWork","name":"Guarantee & Risk Reversal Copywriter","url":"https://prompt2love.com/community"}},{"@type":"ListItem","position":6,"item":{"@type":"CreativeWork","name":"Business Hypothesis Testing & Experiment Designer","url":"https://prompt2love.com/community"}},{"@type":"ListItem","position":7,"item":{"@type":"CreativeWork","name":"Pricing Page Copy Optimizer","url":"https://prompt2love.com/community"}},{"@type":"ListItem","position":8,"item":{"@type":"CreativeWork","name":"Authentication & Authorization System Design","url":"https://prompt2love.com/community"}},{"@type":"ListItem","position":9,"item":{"@type":"CreativeWork","name":"UGC Campaign Brief & Creator Guide","url":"https://prompt2love.com/community"}},{"@type":"ListItem","position":10,"item":{"@type":"CreativeWork","name":"Multi-Layer Caching Strategy Implementer","url":"https://prompt2love.com/community"}}]}</script><div class="min-h-screen bg-white text-gray-900 overflow-x-hidden"><style> @keyframes footer-breathe { 0% { transform: translate(-50%, -50%) scale(1); opacity: 0.6; } 100% { transform: translate(-50%, -50%) scale(1.1); opacity: 1; } } @keyframes footer-scroll-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } } @keyframes badge-pop { from { transform: scale(0); opacity: 0; } to { transform: scale(1); opacity: 1; } } @keyframes slide-down { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } } @keyframes slide-up { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } } @keyframes fade-in { from { opacity: 0; } to { opacity: 1; } } @keyframes scale-in { from { opacity: 0; transform: scale(0.95) translateY(12px); } to { opacity: 1; transform: scale(1) translateY(0); } } @keyframes hero-fade-up { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } .hero-animate { animation: hero-fade-up 0.6s cubic-bezier(0.25,0.4,0.25,1) both; } </style><header class="fixed top-0 left-0 right-0 z-50 transition-all duration-300 translate-y-0 bg-transparent" data-testid="navbar"><div class="max-w-6xl mx-auto px-6 h-16 flex items-center justify-between"><button class="flex items-center gap-2.5 group" data-testid="link-home"><img src="/logo-full-black.png" alt="Prompt2Love" width="700" height="168" class="h-12 w-auto transition-opacity duration-300"/></button><nav class="hidden md:flex items-center gap-1" data-testid="nav-links"><button class="px-4 py-2 text-sm font-medium rounded-full transition-colors text-gray-600 hover:text-gray-900" data-testid="link-features">Features</button><button class="px-4 py-2 text-sm font-medium rounded-full transition-colors text-gray-600 hover:text-gray-900" data-testid="link-skills">Skills</button><button class="px-4 py-2 text-sm font-medium rounded-full transition-colors text-gray-600 hover:text-gray-900" data-testid="link-mcp">MCP</button><button class="px-4 py-2 text-sm font-medium rounded-full transition-colors text-gray-600 hover:text-gray-900" data-testid="link-mac app">Mac App</button><button class="px-4 py-2 text-sm font-medium rounded-full transition-colors text-gray-600 hover:text-gray-900" data-testid="link-community">Community</button><button class="px-4 py-2 text-sm font-medium rounded-full transition-colors text-gray-600 hover:text-gray-900" data-testid="link-pricing">Pricing</button></nav><div class="flex items-center gap-3"><div class="hidden md:flex items-center"><div role="group" aria-label="Change language" class="inline-flex items-center rounded-full p-0.5 transition-all duration-300 bg-gray-100"><span aria-current="true" class="relative px-3 py-1 rounded-full text-xs font-medium bg-primary text-primary-foreground shadow-sm">EN</span><a href="/de" data-testid="locale-switcher" class="relative px-3 py-1 rounded-full text-xs font-medium transition-all duration-200 text-gray-400 hover:text-gray-700">DE</a></div></div><button class="hidden md:inline-flex px-4 py-2 text-sm font-medium rounded-full transition-colors text-gray-700 hover:text-gray-900" data-testid="button-nav-login">Log in</button><button class="hidden md:inline-flex px-5 py-2 text-sm font-semibold rounded-full bg-[#ccff00] text-black hover:bg-[#b8e600] transition-colors" data-testid="button-nav-signup">Start free</button><button class="md:hidden w-11 h-11 flex items-center justify-center rounded-full -mr-1.5 active:scale-95 transition-transform" aria-expanded="false" aria-controls="mobile-nav" aria-label="Open menu" data-testid="button-mobile-menu"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-menu h-6 w-6"><line x1="4" x2="20" y1="12" y2="12"></line><line x1="4" x2="20" y1="6" y2="6"></line><line x1="4" x2="20" y1="18" y2="18"></line></svg></button></div></div></header><main><section class="pt-32 pb-20 md:pt-44 md:pb-32 px-6 relative" data-testid="section-hero"><div class="absolute inset-0 bg-gradient-to-b from-[#ccff00]/5 via-transparent to-transparent pointer-events-none"></div><div class="absolute top-20 left-1/2 -translate-x-1/2 w-[600px] h-[600px] bg-[#ccff00]/8 rounded-full blur-[120px] pointer-events-none"></div><div class="max-w-4xl mx-auto text-center relative z-10"><div class="hero-animate"><div class="inline-flex items-center gap-2 px-4 py-1.5 rounded-full bg-black text-sm text-[#ccff00] border border-gray-800 mb-8" data-testid="badge-hero"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star h-3.5 w-3.5 text-[#ccff00]"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg><span>Now live · Free forever plan</span></div></div><div class="hero-animate" style="animation-delay:0.1s"><h1 class="text-5xl md:text-6xl lg:text-7xl font-bold tracking-tight font-display leading-[1.08] mb-6">The fastest way to capture<br/><span class="bg-gradient-to-r from-gray-900 via-gray-700 to-gray-900 bg-clip-text text-transparent">and version AI Prompts.</span></h1></div><div class="hero-animate" style="animation-delay:0.2s"><p class="text-lg md:text-xl text-gray-500 max-w-2xl mx-auto mb-10 leading-relaxed">Highlight any prompt. Save it via Chrome Extension. Manage all inputs and outputs in one place.</p></div><div class="hero-animate" style="animation-delay:0.3s"><div class="flex flex-col sm:flex-row gap-3 justify-center items-center"><button class="inline-flex items-center justify-center gap-2 whitespace-nowrap transition-[transform,box-shadow] duration-150 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 hover-elevate active-elevate-2 border border-transparent min-h-12 md:min-h-10 w-full sm:w-auto bg-[#ccff00] text-black hover:bg-[#b8e600] border-none shadow-none font-semibold rounded-full px-8 h-12 text-base" data-testid="button-hero-signup">Get started free<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right ml-2 h-4 w-4"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></button><button class="inline-flex items-center justify-center gap-2 whitespace-nowrap transition-[transform,box-shadow] duration-150 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 hover-elevate active-elevate-2 border [border-color:var(--button-outline)] shadow-xs active:shadow-none min-h-12 md:min-h-10 w-full sm:w-auto rounded-full px-8 h-12 text-base font-medium border-gray-300 text-gray-700 hover:bg-gray-50" data-testid="button-hero-community">Explore community</button></div><p class="text-xs text-gray-500 mt-5">Free · No credit card required</p><div class="flex flex-wrap items-center justify-center gap-x-5 gap-y-2 mt-4"><a href="/api/download/mac?from=landing-hero" class="inline-flex items-center gap-1.5 text-xs text-gray-500 hover:text-gray-900 transition-colors" data-testid="link-download-mac"><svg viewBox="0 0 384 512" class="h-3.5 w-3.5" fill="currentColor" aria-hidden="true"><path d="M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C73.9 141.9 19 184.5 19 271.3c0 25.6 4.7 52 14.1 79.1 12.6 35.6 58 122.9 105.4 121.5 24.8-.6 42.3-17.6 74.5-17.6 31.3 0 47.5 17.6 75.2 17.6 47.8-.7 88.8-80.1 100.8-115.8-64.1-30.2-60.3-88.5-60.3-90.4zM256.6 81.7c20.9-24.8 19-47.4 18.4-55.7-18.5 1.1-39.9 12.6-52.1 26.8-13.4 15.3-21.3 34.2-19.6 53.9 20 1.5 38.3-8.8 53.3-25z"></path></svg>Download for Mac</a><a href="#mac" class="inline-flex items-center gap-1.5 text-xs text-gray-400 hover:text-gray-600 transition-colors"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chrome h-3 w-3"><circle cx="12" cy="12" r="10"></circle><circle cx="12" cy="12" r="4"></circle><line x1="21.17" x2="12" y1="8" y2="8"></line><line x1="3.95" x2="8.54" y1="6.06" y2="14"></line><line x1="10.88" x2="15.46" y1="21.94" y2="14"></line></svg>Chrome Extension<!-- --> · <!-- -->Available now<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right h-3 w-3"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></a></div></div><div class="mt-16" style="opacity:0;transform:translateY(20px);transition:none"><div class="max-w-4xl mx-auto grid md:grid-cols-2 gap-4" data-testid="hero-mockup" aria-hidden="true"><div class="rounded-2xl bg-[#0a0a0a] border border-gray-800/60 shadow-[0_8px_40px_rgba(0,0,0,0.5)] overflow-hidden"><div class="flex items-center gap-2 px-4 py-2 border-b border-gray-800/40"><div class="flex gap-1.5"><div class="w-2.5 h-2.5 rounded-full bg-[#ff5f57]"></div><div class="w-2.5 h-2.5 rounded-full bg-[#febc2e]"></div><div class="w-2.5 h-2.5 rounded-full bg-[#28c840]"></div></div><div class="flex-1 flex justify-center"><div class="px-3 py-0.5 rounded bg-[#1a1a1a] text-[10px] text-gray-500 font-mono">prompt2love.com/dashboard</div></div></div><div class="flex"><div class="hidden sm:flex flex-col w-[120px] flex-shrink-0 border-r border-gray-800/40 p-3 gap-1"><div class="flex items-center gap-1.5 mb-2"><img src="/logo-full-white.png" alt="" class="h-4 w-auto"/></div><div class="text-[8px] text-gray-600 uppercase tracking-wider mb-1 mt-1">Navigation</div><div class="flex items-center gap-1.5 px-2 py-1.5 rounded-md bg-[#1a1a1a] text-white"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-inbox h-3 w-3"><polyline points="22 12 16 12 14 15 10 15 8 12 2 12"></polyline><path d="M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z"></path></svg><span class="text-[9px] font-medium">Library</span></div><div class="flex items-center gap-1.5 px-2 py-1.5 rounded-md text-gray-500"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-globe h-3 w-3"><circle cx="12" cy="12" r="10"></circle><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"></path><path d="M2 12h20"></path></svg><span class="text-[9px]">Community</span></div><div class="text-[8px] text-gray-600 uppercase tracking-wider mb-1 mt-3">Categories</div><div class="flex items-center gap-1.5 px-2 py-1 rounded-md bg-[#ccff00] text-black"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles h-2.5 w-2.5"><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"></path><path d="M20 3v4"></path><path d="M22 5h-4"></path><path d="M4 17v2"></path><path d="M5 18H3"></path></svg><span class="text-[9px] font-semibold">All</span></div><div class="flex items-center gap-1.5 px-2 py-1 text-gray-500"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-heart h-2.5 w-2.5"><path d="M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z"></path></svg><span class="text-[9px]">Saved</span></div><div class="pl-3 mt-0.5 space-y-0.5"><div class="flex items-center gap-1 text-gray-500"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-folder-tree h-2 w-2"><path d="M20 10a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2.5a1 1 0 0 1-.8-.4l-.9-1.2A1 1 0 0 0 15 3h-2a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z"></path><path d="M20 21a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-2.9a1 1 0 0 1-.88-.55l-.42-.85a1 1 0 0 0-.92-.6H13a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z"></path><path d="M3 5a2 2 0 0 0 2 2h3"></path><path d="M3 3v13a2 2 0 0 0 2 2h3"></path></svg><span class="text-[8px] truncate">Marketing</span><span class="text-[7px] bg-[#1a1a1a] text-gray-400 px-1 rounded ml-auto">5</span></div><div class="flex items-center gap-1 text-gray-500"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-folder-tree h-2 w-2"><path d="M20 10a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2.5a1 1 0 0 1-.8-.4l-.9-1.2A1 1 0 0 0 15 3h-2a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z"></path><path d="M20 21a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-2.9a1 1 0 0 1-.88-.55l-.42-.85a1 1 0 0 0-.92-.6H13a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z"></path><path d="M3 5a2 2 0 0 0 2 2h3"></path><path d="M3 3v13a2 2 0 0 0 2 2h3"></path></svg><span class="text-[8px] truncate">SEO</span><span class="text-[7px] bg-[#1a1a1a] text-gray-400 px-1 rounded ml-auto">3</span></div></div></div><div class="flex-1 min-w-0 p-3"><div class="flex items-center gap-2 mb-3"><div class="flex items-center gap-0.5 bg-[#1a1a1a] rounded-full p-0.5"><span class="px-2.5 py-1 text-[9px] font-semibold rounded-full bg-[#ccff00] text-black">Prompts 5</span><span class="px-2.5 py-1 text-[9px] text-gray-500">Skills 0</span><span class="px-2.5 py-1 text-[9px] text-gray-500">Inbox</span></div><div class="ml-auto flex items-center gap-1.5"><div class="flex items-center gap-1 px-2 py-1 rounded-md bg-[#1a1a1a] text-gray-500"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search h-2.5 w-2.5"><circle cx="11" cy="11" r="8"></circle><path d="m21 21-4.3-4.3"></path></svg><span class="text-[8px]">Search</span></div><div class="px-2 py-1 rounded-md bg-[#ccff00] text-black text-[8px] font-semibold whitespace-nowrap">+ New</div></div></div><div class="grid grid-cols-2 gap-2"><div class="p-2.5 rounded-xl border border-gray-800/50 bg-[#111] "><div class="text-[10px] font-semibold text-white mb-1 truncate">Product Description Generator</div><div class="text-[8px] text-gray-500 font-mono leading-relaxed line-clamp-2 mb-2">Du bist ein E-Mail-Marketing-Experte. Generiere 20 Betreffzeilen...</div><span class="text-[7px] px-1.5 py-0.5 rounded bg-[#1a1a1a] text-gray-400 border border-gray-800/40">Marketing</span></div><div class="p-2.5 rounded-xl border border-gray-800/50 bg-[#111] "><div class="text-[10px] font-semibold text-white mb-1 truncate">Brand Voice Prompt</div><div class="text-[8px] text-gray-500 font-mono leading-relaxed line-clamp-2 mb-2">Analysiere die Markenstimme anhand dieser 3 Beispieltexte...</div><span class="text-[7px] px-1.5 py-0.5 rounded bg-[#1a1a1a] text-gray-400 border border-gray-800/40">SEO</span></div><div class="p-2.5 rounded-xl border border-gray-800/50 bg-[#111] hidden sm:block"><div class="text-[10px] font-semibold text-white mb-1 truncate">SEO Meta Descriptions</div><div class="text-[8px] text-gray-500 font-mono leading-relaxed line-clamp-2 mb-2">Erstelle SEO-optimierte Meta-Descriptions für folgende URLs...</div><span class="text-[7px] px-1.5 py-0.5 rounded bg-[#1a1a1a] text-gray-400 border border-gray-800/40">SEO</span></div><div class="p-2.5 rounded-xl border border-gray-800/50 bg-[#111] hidden sm:block"><div class="text-[10px] font-semibold text-white mb-1 truncate">Social Media Captions</div><div class="text-[8px] text-gray-500 font-mono leading-relaxed line-clamp-2 mb-2">Schreibe 5 Social-Media-Posts basierend auf diesem Blogbeitrag...</div><span class="text-[7px] px-1.5 py-0.5 rounded bg-[#1a1a1a] text-gray-400 border border-gray-800/40">Marketing</span></div></div></div></div></div><div class="rounded-2xl bg-[#0a0a0a] border border-gray-800/60 shadow-[0_8px_40px_rgba(0,0,0,0.5)] overflow-hidden"><div class="flex items-center gap-2 px-4 py-2 border-b border-gray-800/40"><div class="flex gap-1.5"><div class="w-2.5 h-2.5 rounded-full bg-[#ff5f57]"></div><div class="w-2.5 h-2.5 rounded-full bg-[#febc2e]"></div><div class="w-2.5 h-2.5 rounded-full bg-[#28c840]"></div></div><div class="flex-1 flex justify-center"><div class="px-3 py-0.5 rounded bg-[#1a1a1a] text-[10px] text-gray-500 font-mono">prompt2love.com/community</div></div></div><div class="flex"><div class="hidden sm:flex flex-col w-[120px] flex-shrink-0 border-r border-gray-800/40 p-3 gap-1"><div class="flex items-center gap-1.5 mb-2"><img src="/logo-full-white.png" alt="" class="h-4 w-auto"/></div><div class="text-[8px] text-gray-600 uppercase tracking-wider mb-1 mt-1">Navigation</div><div class="flex items-center gap-1.5 px-2 py-1.5 rounded-md text-gray-500"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-inbox h-3 w-3"><polyline points="22 12 16 12 14 15 10 15 8 12 2 12"></polyline><path d="M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z"></path></svg><span class="text-[9px]">Library</span></div><div class="flex items-center gap-1.5 px-2 py-1.5 rounded-md bg-[#1a1a1a] text-white"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-globe h-3 w-3"><circle cx="12" cy="12" r="10"></circle><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"></path><path d="M2 12h20"></path></svg><span class="text-[9px] font-medium">Community</span></div><div class="text-[8px] text-gray-600 uppercase tracking-wider mb-1 mt-3">Community</div><div class="flex items-center gap-1.5 px-2 py-1 text-white"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-trending-up h-2.5 w-2.5"><polyline points="22 7 13.5 15.5 8.5 10.5 2 17"></polyline><polyline points="16 7 22 7 22 13"></polyline></svg><span class="text-[9px] font-medium">Feed</span></div><div class="flex items-center gap-1.5 px-2 py-1 text-gray-500"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-send h-2.5 w-2.5"><path d="M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z"></path><path d="m21.854 2.147-10.94 10.939"></path></svg><span class="text-[9px]">Create Post</span></div><div class="flex items-center gap-1.5 px-2 py-1 text-gray-500"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-heart h-2.5 w-2.5"><path d="M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z"></path></svg><span class="text-[9px]">Saved</span></div></div><div class="flex-1 min-w-0 p-3"><div class="flex gap-1.5 mb-3"><span class="px-2.5 py-1 text-[9px] font-semibold rounded-full bg-[#ccff00] text-black">Hot</span><span class="px-2.5 py-1 text-[9px] rounded-full bg-[#1a1a1a] text-gray-500">New</span><span class="px-2.5 py-1 text-[9px] rounded-full bg-[#1a1a1a] text-gray-500">Top</span></div><div class="rounded-xl border border-gray-800/50 bg-[#111] p-3"><div class="flex items-center gap-2 mb-2"><div class="w-7 h-7 rounded-full bg-gradient-to-br from-[#ccff00]/30 to-gray-800 flex items-center justify-center"><span class="text-[8px] font-bold text-white">S</span></div><div class="flex-1 min-w-0"><div class="flex items-center gap-1"><span class="text-[10px] font-semibold text-white">Sarah K.</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check h-2.5 w-2.5 text-[#ccff00]"><path d="M20 6 9 17l-5-5"></path></svg></div><div class="flex items-center gap-1"><span class="text-[7px] px-1 py-px rounded bg-[#ccff00]/15 text-[#ccff00] font-semibold">Prompt</span><span class="text-[7px] text-gray-600">2d ago</span></div></div><span class="text-[8px] px-2 py-0.5 rounded-md border border-gray-700 text-gray-400">Follow</span></div><p class="text-[10px] text-gray-300 mb-2">10 Prompts that transformed my e-commerce</p><div class="flex gap-0.5 mb-2"><span class="flex-1 text-center py-1 text-[8px] font-semibold rounded-md bg-[#ccff00] text-black">Input</span><span class="flex-1 text-center py-1 text-[8px] rounded-md bg-[#1a1a1a] text-gray-500">Output</span></div><div class="bg-[#0a0a0a] rounded-lg p-2 mb-2 border border-gray-800/30"><div class="text-[7px] font-mono text-gray-400 leading-relaxed line-clamp-3">Du bist ein E-Mail-Marketing-Experte. Generiere 20 Betreffzeilen für einen Newsletter über <span class="text-[#ccff00]">{{thema}}</span>.</div></div><div class="flex gap-1 mb-2"><span class="text-[7px] text-gray-500 px-1.5 py-0.5 rounded bg-[#1a1a1a]">email</span><span class="text-[7px] text-gray-500 px-1.5 py-0.5 rounded bg-[#1a1a1a]">newsletter</span><span class="text-[7px] text-gray-500 px-1.5 py-0.5 rounded bg-[#1a1a1a]">marketing</span></div><div class="flex items-center gap-3 pt-1.5 border-t border-gray-800/30"><span class="flex items-center gap-1 text-[9px] text-gray-500"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up h-2.5 w-2.5 text-[#ccff00]"><path d="m5 12 7-7 7 7"></path><path d="M12 19V5"></path></svg> 42</span><span class="flex items-center gap-1 text-[9px] text-gray-500"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-heart h-2.5 w-2.5"><path d="M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z"></path></svg> 18</span><span class="flex items-center gap-1 text-[9px] text-gray-500"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-send h-2.5 w-2.5"><path d="M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z"></path><path d="m21.854 2.147-10.94 10.939"></path></svg> 7</span></div></div></div></div></div></div></div></div></section><section id="mcp" class="py-24 md:py-32 px-6 bg-black text-white relative overflow-hidden" data-testid="section-mcp"><div class="absolute inset-0 pointer-events-none" style="background-size:40px 40px;background-image:linear-gradient(to right, rgba(204,255,0,0.04) 1px, transparent 1px), linear-gradient(to bottom, rgba(204,255,0,0.04) 1px, transparent 1px);mask-image:radial-gradient(ellipse at 50% 50%, black 40%, transparent 75%);-webkit-mask-image:radial-gradient(ellipse at 50% 50%, black 40%, transparent 75%)"></div><div class="absolute top-1/4 right-1/3 w-[600px] h-[600px] rounded-full bg-[#ccff00]/[0.05] blur-[120px] pointer-events-none"></div><div class="max-w-6xl mx-auto relative z-10"><div class="text-center mb-16" style="opacity:0;transform:translateY(20px);transition:none"><div class="inline-flex flex-wrap items-center justify-center gap-2 mb-6"><span class="inline-flex items-center gap-2.5 px-5 py-2 rounded-full bg-[#ccff00]/15 text-sm font-semibold text-[#ccff00] border border-[#ccff00]/25"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-terminal h-4 w-4"><polyline points="4 17 10 11 4 5"></polyline><line x1="12" x2="20" y1="19" y2="19"></line></svg>MCP server — New</span><span class="inline-flex items-center gap-1.5 px-3 py-1.5 rounded-full bg-[#28c840]/15 text-xs font-semibold text-[#28c840] border border-[#28c840]/25 uppercase tracking-wider">Free in every plan</span></div><h2 class="text-4xl md:text-5xl lg:text-6xl font-bold font-display tracking-tight mb-5">Your library. A command away in your terminal.</h2><p class="text-white/50 text-lg max-w-2xl mx-auto leading-relaxed">Connect Prompt2Love once to Claude Code, Claude Desktop, ChatGPT, Cursor or Windsurf — then pull your own prompts straight into the tool with /prompt. Secure via OAuth, no copy-paste.</p></div><div class="grid lg:grid-cols-2 gap-14 items-center"><div class="space-y-8"><div class="" style="opacity:0;transform:translateY(20px);transition:none"><div class="flex gap-4"><div class="flex-shrink-0 relative"><div class="w-11 h-11 rounded-xl bg-[#ccff00]/10 border border-[#ccff00]/20 flex items-center justify-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-terminal h-5 w-5 text-[#ccff00]"><polyline points="4 17 10 11 4 5"></polyline><line x1="12" x2="20" y1="19" y2="19"></line></svg></div><span class="absolute -top-1.5 -right-1.5 w-5 h-5 rounded-full bg-[#ccff00] text-black text-[10px] font-bold flex items-center justify-center">1</span></div><div><h3 class="font-semibold text-base text-white mb-1">Connect</h3><p class="text-sm text-white/50 leading-relaxed">Paste a link or command — no setup, no copying keys.</p></div></div></div><div class="" style="opacity:0;transform:translateY(20px);transition:none"><div class="flex gap-4"><div class="flex-shrink-0 relative"><div class="w-11 h-11 rounded-xl bg-[#ccff00]/10 border border-[#ccff00]/20 flex items-center justify-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-lock h-5 w-5 text-[#ccff00]"><rect width="18" height="11" x="3" y="11" rx="2" ry="2"></rect><path d="M7 11V7a5 5 0 0 1 10 0v4"></path></svg></div><span class="absolute -top-1.5 -right-1.5 w-5 h-5 rounded-full bg-[#ccff00] text-black text-[10px] font-bold flex items-center justify-center">2</span></div><div><h3 class="font-semibold text-base text-white mb-1">Authorize in the browser</h3><p class="text-sm text-white/50 leading-relaxed">Log in as usual and confirm access. Secure via OAuth.</p></div></div></div><div class="" style="opacity:0;transform:translateY(20px);transition:none"><div class="flex gap-4"><div class="flex-shrink-0 relative"><div class="w-11 h-11 rounded-xl bg-[#ccff00]/10 border border-[#ccff00]/20 flex items-center justify-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-zap h-5 w-5 text-[#ccff00]"><path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"></path></svg></div><span class="absolute -top-1.5 -right-1.5 w-5 h-5 rounded-full bg-[#ccff00] text-black text-[10px] font-bold flex items-center justify-center">3</span></div><div><h3 class="font-semibold text-base text-white mb-1">Use /prompt</h3><p class="text-sm text-white/50 leading-relaxed">Type /prompt + a search term — your prompt is found and inserted right away.</p></div></div></div><div class="" style="opacity:0;transform:translateY(20px);transition:none"><div class="flex flex-col sm:flex-row gap-3 pt-4"><button class="inline-flex items-center gap-2 px-7 py-3 rounded-full bg-[#ccff00] text-black font-bold text-sm hover:bg-[#b8e600] transition-colors shadow-lg shadow-[#ccff00]/20" data-testid="button-mcp-setup"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-terminal h-5 w-5"><polyline points="4 17 10 11 4 5"></polyline><line x1="12" x2="20" y1="19" y2="19"></line></svg>Set up MCP — free</button></div><p class="text-xs text-white/40 mt-3">Included in every plan — even on Free.</p></div></div><div class="" style="opacity:0;transform:translateY(20px);transition:none"><div class="relative"><div class="absolute -inset-6 bg-gradient-to-br from-[#ccff00]/15 via-transparent to-transparent rounded-3xl blur-3xl pointer-events-none"></div><div class="relative rounded-2xl bg-[#0a0a0a] border border-white/10 overflow-hidden shadow-[0_30px_80px_rgba(0,0,0,0.6)]"><div class="flex items-center gap-3 px-4 py-2.5 border-b border-white/5 bg-[#1c1c1c]"><div class="flex gap-1.5"><div class="w-3 h-3 rounded-full bg-[#ff5f57]"></div><div class="w-3 h-3 rounded-full bg-[#febc2e]"></div><div class="w-3 h-3 rounded-full bg-[#28c840]"></div></div><div class="flex-1 flex justify-center"><span class="text-[10px] text-white/40 font-mono">~/project — claude</span></div><div class="w-12"></div></div><div class="p-5 font-mono text-[12px] leading-relaxed space-y-1.5 bg-[#0a0a0a]"><div class="text-white/40">→ Browser opened for authorization …</div><div class="text-[#28c840]">✓ Authorized — prompt2love connected</div><div class="pt-2 flex items-center gap-2"><span class="text-[#ccff00]">›</span><span class="text-white">/prompt cold email</span><span class="inline-block w-1.5 h-4 bg-[#ccff00] animate-pulse"></span></div><div class="text-[#28c840]">✓ “Cold-Email Opener” found &amp; inserted</div></div></div></div></div></div></div></section><section id="mac" class="py-24 md:py-32 px-6 bg-white relative overflow-hidden" data-testid="section-mac"><div class="absolute inset-0 pointer-events-none" style="background-size:40px 40px;background-image:linear-gradient(to right, rgba(0,0,0,0.04) 1px, transparent 1px), linear-gradient(to bottom, rgba(0,0,0,0.04) 1px, transparent 1px);mask-image:radial-gradient(ellipse at 50% 50%, black 40%, transparent 75%);-webkit-mask-image:radial-gradient(ellipse at 50% 50%, black 40%, transparent 75%)"></div><div class="absolute top-1/3 right-1/4 w-[500px] h-[500px] rounded-full bg-[#ccff00]/[0.10] blur-[120px] pointer-events-none"></div><div class="max-w-6xl mx-auto relative z-10"><div class="text-center mb-16" style="opacity:0;transform:translateY(20px);transition:none"><div class="inline-flex items-center gap-2.5 px-5 py-2 rounded-full bg-black text-sm font-semibold text-[#ccff00] border border-gray-800 mb-6"><svg viewBox="0 0 384 512" class="h-4 w-4" fill="currentColor" aria-hidden="true"><path d="M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C73.9 141.9 19 184.5 19 271.3c0 25.6 4.7 52 14.1 79.1 12.6 35.6 58 122.9 105.4 121.5 24.8-.6 42.3-17.6 74.5-17.6 31.3 0 47.5 17.6 75.2 17.6 47.8-.7 88.8-80.1 100.8-115.8-64.1-30.2-60.3-88.5-60.3-90.4zM256.6 81.7c20.9-24.8 19-47.4 18.4-55.7-18.5 1.1-39.9 12.6-52.1 26.8-13.4 15.3-21.3 34.2-19.6 53.9 20 1.5 38.3-8.8 53.3-25z"></path></svg>Mac App — Available</div><h2 class="text-4xl md:text-5xl lg:text-6xl font-bold font-display tracking-tight mb-5 text-gray-900">Your Prompts. Right in the Dock.</h2><p class="text-gray-500 text-lg max-w-2xl mx-auto leading-relaxed">The full Prompt2Love app as a native Mac companion. Its own window, quick access, no tab juggling.</p></div><div class="grid lg:grid-cols-2 gap-14 items-center"><div class="space-y-8"><div class="" style="opacity:0;transform:translateY(20px);transition:none"><div class="flex gap-4"><div class="flex-shrink-0 relative"><div class="w-11 h-11 rounded-xl bg-gray-900 border border-gray-800 flex items-center justify-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-zap h-5 w-5 text-[#ccff00]"><path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"></path></svg></div><span class="absolute -top-1.5 -right-1.5 w-5 h-5 rounded-full bg-[#ccff00] text-black text-[10px] font-bold flex items-center justify-center">1</span></div><div><h3 class="font-semibold text-base text-gray-900 mb-1">Launch instantly</h3><p class="text-sm text-gray-500 leading-relaxed">Dock icon, app window, done. No more juggling browser tabs between research and your prompt library.</p></div></div></div><div class="" style="opacity:0;transform:translateY(20px);transition:none"><div class="flex gap-4"><div class="flex-shrink-0 relative"><div class="w-11 h-11 rounded-xl bg-gray-900 border border-gray-800 flex items-center justify-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-panel-right h-5 w-5 text-[#ccff00]"><rect width="18" height="18" x="3" y="3" rx="2"></rect><path d="M15 3v18"></path></svg></div><span class="absolute -top-1.5 -right-1.5 w-5 h-5 rounded-full bg-[#ccff00] text-black text-[10px] font-bold flex items-center justify-center">2</span></div><div><h3 class="font-semibold text-base text-gray-900 mb-1">Focused window</h3><p class="text-sm text-gray-500 leading-relaxed">A dedicated app window for distraction-free work. Cmd+N, Cmd+W, Cmd+, — all the macOS shortcuts you expect.</p></div></div></div><div class="" style="opacity:0;transform:translateY(20px);transition:none"><div class="flex gap-4"><div class="flex-shrink-0 relative"><div class="w-11 h-11 rounded-xl bg-gray-900 border border-gray-800 flex items-center justify-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-cpu h-5 w-5 text-[#ccff00]"><rect width="16" height="16" x="4" y="4" rx="2"></rect><rect width="6" height="6" x="9" y="9" rx="1"></rect><path d="M15 2v2"></path><path d="M15 20v2"></path><path d="M2 15h2"></path><path d="M2 9h2"></path><path d="M20 15h2"></path><path d="M20 9h2"></path><path d="M9 2v2"></path><path d="M9 20v2"></path></svg></div><span class="absolute -top-1.5 -right-1.5 w-5 h-5 rounded-full bg-[#ccff00] text-black text-[10px] font-bold flex items-center justify-center">3</span></div><div><h3 class="font-semibold text-base text-gray-900 mb-1">Apple Silicon &amp; Intel</h3><p class="text-sm text-gray-500 leading-relaxed">Universal build. Native-fast on M1 / M2 / M3 / M4 and seamless on older Intel Macs.</p></div></div></div><div class="" style="opacity:0;transform:translateY(20px);transition:none"><div class="flex gap-4"><div class="flex-shrink-0 relative"><div class="w-11 h-11 rounded-xl bg-gray-900 border border-gray-800 flex items-center justify-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rotate-ccw h-5 w-5 text-[#ccff00]"><path d="M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"></path><path d="M3 3v5h5"></path></svg></div><span class="absolute -top-1.5 -right-1.5 w-5 h-5 rounded-full bg-[#ccff00] text-black text-[10px] font-bold flex items-center justify-center">4</span></div><div><h3 class="font-semibold text-base text-gray-900 mb-1">Always up to date</h3><p class="text-sm text-gray-500 leading-relaxed">Syncs with your account and shows an update banner the moment a new version ships.</p></div></div></div><div class="" style="opacity:0;transform:translateY(20px);transition:none"><div class="flex flex-col sm:flex-row gap-3 pt-4"><a href="/api/download/mac?from=landing-mac-section" class="inline-flex items-center gap-2 px-7 py-3 rounded-full bg-black text-[#ccff00] font-bold text-sm hover:bg-gray-900 transition-colors shadow-lg shadow-black/20" data-testid="button-mac-download"><svg viewBox="0 0 384 512" class="h-5 w-5" fill="currentColor" aria-hidden="true"><path d="M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C73.9 141.9 19 184.5 19 271.3c0 25.6 4.7 52 14.1 79.1 12.6 35.6 58 122.9 105.4 121.5 24.8-.6 42.3-17.6 74.5-17.6 31.3 0 47.5 17.6 75.2 17.6 47.8-.7 88.8-80.1 100.8-115.8-64.1-30.2-60.3-88.5-60.3-90.4zM256.6 81.7c20.9-24.8 19-47.4 18.4-55.7-18.5 1.1-39.9 12.6-52.1 26.8-13.4 15.3-21.3 34.2-19.6 53.9 20 1.5 38.3-8.8 53.3-25z"></path></svg>Download for Mac</a><a href="/download/mac" class="inline-flex items-center gap-2 px-7 py-3 rounded-full border border-gray-300 text-gray-700 font-medium text-sm hover:border-gray-400 hover:text-gray-900 transition-colors" data-testid="link-mac-details">Install instructions<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right h-4 w-4"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></a></div><p class="text-xs text-gray-500 mt-3">For macOS (Apple Silicon &amp; Intel)</p></div></div><div class="" style="opacity:0;transform:translateY(20px);transition:none"><div class="relative"><div class="absolute -inset-6 bg-gradient-to-br from-[#ccff00]/30 via-transparent to-transparent rounded-3xl blur-3xl pointer-events-none"></div><div class="relative rounded-2xl bg-[#0a0a0a] border border-gray-800/60 overflow-hidden shadow-[0_30px_80px_rgba(0,0,0,0.35)]"><div class="flex items-center gap-3 px-4 py-2.5 border-b border-white/5 bg-[#1c1c1c]"><div class="flex gap-1.5"><div class="w-3 h-3 rounded-full bg-[#ff5f57]"></div><div class="w-3 h-3 rounded-full bg-[#febc2e]"></div><div class="w-3 h-3 rounded-full bg-[#28c840]"></div></div><div class="flex-1 flex justify-center"><span class="text-[10px] text-white/50 font-medium">Prompt2Love</span></div><div class="w-12"></div></div><div class="flex"><div class="hidden sm:flex flex-col w-[140px] flex-shrink-0 border-r border-white/5 bg-[#111] p-3 gap-1"><div class="flex items-center gap-1.5 mb-3"><img src="/logo-full-white.png" alt="" class="h-4 w-auto"/></div><div class="text-[8px] text-white/30 uppercase tracking-wider mb-1">Navigation</div><div class="flex items-center gap-1.5 px-2 py-1.5 rounded-md bg-[#1f1f1f] text-white"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-inbox h-3 w-3 text-[#ccff00]"><polyline points="22 12 16 12 14 15 10 15 8 12 2 12"></polyline><path d="M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z"></path></svg><span class="text-[10px] font-semibold">Library</span></div><div class="flex items-center gap-1.5 px-2 py-1.5 rounded-md text-white/40"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-globe h-3 w-3"><circle cx="12" cy="12" r="10"></circle><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"></path><path d="M2 12h20"></path></svg><span class="text-[10px]">Community</span></div><div class="flex items-center gap-1.5 px-2 py-1.5 rounded-md text-white/40"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles h-3 w-3"><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"></path><path d="M20 3v4"></path><path d="M22 5h-4"></path><path d="M4 17v2"></path><path d="M5 18H3"></path></svg><span class="text-[10px]">Skills</span></div><div class="mt-auto pt-3 border-t border-white/5"><div class="flex items-center gap-1.5 text-[9px] text-white/30"><span class="w-1.5 h-1.5 rounded-full bg-[#28c840]"></span><span>v<!-- -->2.0.0</span></div></div></div><div class="flex-1 min-w-0 p-4 bg-[#0a0a0a]"><div class="flex items-center justify-between mb-3"><div class="flex items-center gap-2 px-2.5 py-1.5 rounded-md bg-[#1a1a1a] border border-white/5 flex-1 max-w-[180px]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search h-3 w-3 text-white/30"><circle cx="11" cy="11" r="8"></circle><path d="m21 21-4.3-4.3"></path></svg><span class="text-[9px] text-white/30 font-mono">⌘K</span></div><span class="px-2.5 py-1.5 rounded-md bg-[#ccff00] text-black text-[9px] font-bold ml-2">+ Neu</span></div><div class="space-y-2"><div class="p-2.5 rounded-lg border bg-[#151515] border-[#ccff00]/30"><div class="flex items-center justify-between gap-2"><div class="flex-1 min-w-0"><div class="text-[11px] font-semibold text-white truncate">Product Description Generator</div><span class="inline-block mt-1 text-[8px] px-1.5 py-0.5 rounded bg-white/5 text-white/50">Marketing</span></div><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-send h-3 w-3 text-white/30 flex-shrink-0"><path d="M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z"></path><path d="m21.854 2.147-10.94 10.939"></path></svg></div></div><div class="p-2.5 rounded-lg border bg-[#111] border-white/5"><div class="flex items-center justify-between gap-2"><div class="flex-1 min-w-0"><div class="text-[11px] font-semibold text-white truncate">Brand Voice Prompt</div><span class="inline-block mt-1 text-[8px] px-1.5 py-0.5 rounded bg-white/5 text-white/50">SEO</span></div><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-send h-3 w-3 text-white/30 flex-shrink-0"><path d="M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z"></path><path d="m21.854 2.147-10.94 10.939"></path></svg></div></div><div class="p-2.5 rounded-lg border bg-[#111] border-white/5"><div class="flex items-center justify-between gap-2"><div class="flex-1 min-w-0"><div class="text-[11px] font-semibold text-white truncate">SEO Meta Descriptions</div><span class="inline-block mt-1 text-[8px] px-1.5 py-0.5 rounded bg-white/5 text-white/50">SEO</span></div><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-send h-3 w-3 text-white/30 flex-shrink-0"><path d="M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z"></path><path d="m21.854 2.147-10.94 10.939"></path></svg></div></div></div></div></div></div></div></div></div></div></section><section id="extension" class="py-24 md:py-32 px-6 bg-black text-white relative overflow-hidden" data-testid="section-extension"><div class="absolute inset-0 pointer-events-none" style="background-size:40px 40px;background-image:linear-gradient(to right, rgba(204,255,0,0.04) 1px, transparent 1px), linear-gradient(to bottom, rgba(204,255,0,0.04) 1px, transparent 1px);mask-image:radial-gradient(ellipse at 50% 50%, black 40%, transparent 75%);-webkit-mask-image:radial-gradient(ellipse at 50% 50%, black 40%, transparent 75%)"></div><div class="absolute top-1/4 left-1/3 w-[600px] h-[600px] rounded-full bg-[#ccff00]/[0.04] blur-[120px] pointer-events-none"></div><div class="max-w-6xl mx-auto relative z-10"><div class="text-center mb-16" style="opacity:0;transform:translateY(20px);transition:none"><div class="inline-flex flex-wrap items-center justify-center gap-2 mb-6"><span class="inline-flex items-center gap-2.5 px-5 py-2 rounded-full bg-[#ccff00]/15 text-sm font-semibold text-[#ccff00] border border-[#ccff00]/25"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chrome h-4 w-4"><circle cx="12" cy="12" r="10"></circle><circle cx="12" cy="12" r="4"></circle><line x1="21.17" x2="12" y1="8" y2="8"></line><line x1="3.95" x2="8.54" y1="6.06" y2="14"></line><line x1="10.88" x2="15.46" y1="21.94" y2="14"></line></svg>Chrome Extension</span><span class="inline-flex items-center gap-1.5 px-3 py-1.5 rounded-full bg-white/10 text-xs font-semibold text-white/80 border border-white/15 uppercase tracking-wider">Available now</span></div><h2 class="text-4xl md:text-5xl lg:text-6xl font-bold font-display tracking-tight mb-5">Your Prompts. Everywhere.</h2><p class="text-white/50 text-lg max-w-2xl mx-auto leading-relaxed">Save prompts from any website — just select text and click. Your entire library always at hand.</p></div><div class="grid lg:grid-cols-2 gap-14 items-center"><div class="space-y-8"><div class="" style="opacity:0;transform:translateY(20px);transition:none"><div class="flex gap-4"><div class="flex-shrink-0 relative"><div class="w-11 h-11 rounded-xl bg-[#ccff00]/10 border border-[#ccff00]/20 flex items-center justify-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-mouse-pointer-click h-5 w-5 text-[#ccff00]"><path d="M14 4.1 12 6"></path><path d="m5.1 8-2.9-.8"></path><path d="m6 12-1.9 2"></path><path d="M7.2 2.2 8 5.1"></path><path d="M9.037 9.69a.498.498 0 0 1 .653-.653l11 4.5a.5.5 0 0 1-.074.949l-4.349 1.041a1 1 0 0 0-.74.739l-1.04 4.35a.5.5 0 0 1-.95.074z"></path></svg></div><span class="absolute -top-1.5 -right-1.5 w-5 h-5 rounded-full bg-[#ccff00] text-black text-[10px] font-bold flex items-center justify-center">1</span></div><div><h3 class="font-semibold text-base text-white mb-1">Select &amp; Save</h3><p class="text-sm text-white/50 leading-relaxed">Select any text on any website. Two buttons appear: save as Prompt or as Output. One click, done.</p></div></div></div><div class="" style="opacity:0;transform:translateY(20px);transition:none"><div class="flex gap-4"><div class="flex-shrink-0 relative"><div class="w-11 h-11 rounded-xl bg-[#ccff00]/10 border border-[#ccff00]/20 flex items-center justify-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search h-5 w-5 text-[#ccff00]"><circle cx="11" cy="11" r="8"></circle><path d="m21 21-4.3-4.3"></path></svg></div><span class="absolute -top-1.5 -right-1.5 w-5 h-5 rounded-full bg-[#ccff00] text-black text-[10px] font-bold flex items-center justify-center">2</span></div><div><h3 class="font-semibold text-base text-white mb-1">Search &amp; Find</h3><p class="text-sm text-white/50 leading-relaxed">Search your entire prompt library directly in the browser. Filter by category, tags, or full text.</p></div></div></div><div class="" style="opacity:0;transform:translateY(20px);transition:none"><div class="flex gap-4"><div class="flex-shrink-0 relative"><div class="w-11 h-11 rounded-xl bg-[#ccff00]/10 border border-[#ccff00]/20 flex items-center justify-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-panel-right h-5 w-5 text-[#ccff00]"><rect width="18" height="18" x="3" y="3" rx="2"></rect><path d="M15 3v18"></path></svg></div><span class="absolute -top-1.5 -right-1.5 w-5 h-5 rounded-full bg-[#ccff00] text-black text-[10px] font-bold flex items-center justify-center">3</span></div><div><h3 class="font-semibold text-base text-white mb-1">Insert &amp; Use</h3><p class="text-sm text-white/50 leading-relaxed">Open the side panel and insert prompts directly into any AI tool — ChatGPT, Claude, Gemini, and more.</p></div></div></div><div class="" style="opacity:0;transform:translateY(20px);transition:none"><div class="flex gap-4"><div class="flex-shrink-0 relative"><div class="w-11 h-11 rounded-xl bg-[#ccff00]/10 border border-[#ccff00]/20 flex items-center justify-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-inbox h-5 w-5 text-[#ccff00]"><polyline points="22 12 16 12 14 15 10 15 8 12 2 12"></polyline><path d="M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z"></path></svg></div><span class="absolute -top-1.5 -right-1.5 w-5 h-5 rounded-full bg-[#ccff00] text-black text-[10px] font-bold flex items-center justify-center">4</span></div><div><h3 class="font-semibold text-base text-white mb-1">Inbox &amp; Organize</h3><p class="text-sm text-white/50 leading-relaxed">Saved prompts land in your inbox first. Review, edit, and file them into your library when ready.</p></div></div></div><div class="" style="opacity:0;transform:translateY(20px);transition:none"><div class="flex flex-col sm:flex-row gap-3 pt-4"><a href="https://chromewebstore.google.com/detail/prompt2love-–-ai-prompt-m/dfglgknbchoflofmgmephpbklnjehjlp" target="_blank" rel="noopener" class="inline-flex items-center gap-2 px-7 py-3 rounded-full bg-[#ccff00] text-black font-bold text-sm hover:bg-[#bff000] transition-colors" data-testid="ext-install"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chrome h-5 w-5"><circle cx="12" cy="12" r="10"></circle><circle cx="12" cy="12" r="4"></circle><line x1="21.17" x2="12" y1="8" y2="8"></line><line x1="3.95" x2="8.54" y1="6.06" y2="14"></line><line x1="10.88" x2="15.46" y1="21.94" y2="14"></line></svg>Add to Chrome — Free</a><button class="inline-flex items-center gap-2 px-7 py-3 rounded-full border border-white/20 text-white/80 font-medium text-sm hover:border-white/40 hover:text-white transition-colors">Get started free<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right h-4 w-4"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></button></div><p class="text-xs text-white/40 mt-3">Free · works in ChatGPT, Claude, Gemini &amp; 20+ AI tools</p></div></div><div class="" style="opacity:0;transform:translateY(20px);transition:none"><div class="relative"><div class="absolute -inset-6 bg-gradient-to-br from-[#ccff00]/10 via-transparent to-transparent rounded-3xl blur-3xl pointer-events-none"></div><div class="relative rounded-2xl bg-[#1a1a1a] border border-white/10 overflow-hidden shadow-[0_30px_80px_rgba(0,0,0,0.6)]"><div class="flex items-center gap-3 px-4 py-2.5 border-b border-white/5 bg-[#222]"><div class="flex gap-1.5"><div class="w-2.5 h-2.5 rounded-full bg-[#ff5f57]"></div><div class="w-2.5 h-2.5 rounded-full bg-[#febc2e]"></div><div class="w-2.5 h-2.5 rounded-full bg-[#28c840]"></div></div><div class="flex-1 mx-3 px-3 py-1 rounded-md bg-white/5 border border-white/5 text-[10px] text-white/30 font-mono truncate">docs.google.com/document/...</div><img src="/logo-icon.png" alt="" class="w-6 h-6 shadow-md shadow-[#ccff00]/20 rounded-md"/></div><div class="px-6 py-5 bg-[#1a1a1a]"><div class="space-y-2.5"><div class="h-2.5 bg-white/5 rounded w-full"></div><div class="h-2.5 bg-white/5 rounded w-4/5"></div><div class="relative inline-block"><div class="h-2.5 bg-blue-500/30 rounded w-56 border border-blue-400/40"></div><div class="absolute -top-9 left-1/2 -translate-x-1/2 flex gap-1 p-1.5 rounded-lg bg-[#ccff00] shadow-xl shadow-[#ccff00]/30 animate-[bounce_2s_infinite]"><div class="px-2.5 py-1 rounded-md bg-black/15 text-[9px] font-bold text-black whitespace-nowrap">Save Prompt</div><div class="px-2.5 py-1 rounded-md bg-black/15 text-[9px] font-bold text-black whitespace-nowrap">Save Output</div></div></div><div class="h-2.5 bg-white/5 rounded w-3/4"></div></div></div><div class="bg-[#111] border-t border-[#ccff00]/20"><div class="flex items-center gap-2 px-4 py-2.5 border-b border-white/5"><img src="/logo-full-white.png" alt="" class="h-5 w-auto"/><span class="text-[9px] text-white/30 ml-0.5">Extension</span></div><div class="flex border-b border-white/5"><div class="flex-1 py-2 text-center text-[10px] font-medium text-[#ccff00] border-b border-[#ccff00]">Prompts</div><div class="flex-1 py-2 text-center text-[10px] font-medium text-white/30">Skills</div><div class="flex-1 py-2 text-center text-[10px] font-medium text-white/30">Inbox</div></div><div class="px-4 pt-2.5 pb-1.5"><div class="flex items-center gap-2 px-2.5 py-1.5 rounded-md bg-white/5 border border-white/5"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search h-3 w-3 text-white/30"><circle cx="11" cy="11" r="8"></circle><path d="m21 21-4.3-4.3"></path></svg><span class="text-[10px] text-white/30">Search prompts...</span></div></div><div class="px-4 pb-1.5 flex gap-1.5"><span class="px-2.5 py-0.5 text-[9px] font-medium rounded-full bg-[#ccff00] text-black">All</span><span class="px-2.5 py-0.5 text-[9px] font-medium rounded-full bg-white/5 text-white/40">Analysis</span><span class="px-2.5 py-0.5 text-[9px] font-medium rounded-full bg-white/5 text-white/40">Images</span></div><div class="px-4 pb-3 space-y-1.5"><div class="p-2.5 rounded-md border bg-white/[0.03] border-white/10"><div class="flex items-center justify-between gap-2"><div class="flex-1 min-w-0"><div class="text-[11px] font-medium text-white truncate">Product Description Generator</div><div class="text-[9px] text-white/40 truncate mt-0.5">Create compelling product descriptions for any audience</div></div><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-send h-3 w-3 text-white/20 flex-shrink-0"><path d="M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z"></path><path d="m21.854 2.147-10.94 10.939"></path></svg></div></div><div class="p-2.5 rounded-md border border-transparent opacity-40"><div class="flex items-center justify-between gap-2"><div class="flex-1 min-w-0"><div class="text-[11px] font-medium text-white truncate">Code Review Assistant</div><div class="text-[9px] text-white/40 truncate mt-0.5">Analyze code with focus on performance and security</div></div><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-send h-3 w-3 text-white/20 flex-shrink-0"><path d="M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z"></path><path d="m21.854 2.147-10.94 10.939"></path></svg></div></div></div></div></div></div></div></div></div></section><section class="py-24 md:py-32 px-6 bg-black text-white relative overflow-hidden" data-testid="section-prompt-showcase"><div class="absolute inset-0 pointer-events-none" style="background-size:40px 40px;background-image:linear-gradient(to right, rgba(204,255,0,0.03) 1px, transparent 1px), linear-gradient(to bottom, rgba(204,255,0,0.03) 1px, transparent 1px);mask-image:radial-gradient(ellipse at 50% 50%, black 30%, transparent 70%);-webkit-mask-image:radial-gradient(ellipse at 50% 50%, black 30%, transparent 70%)"></div><div class="absolute top-1/3 left-1/4 w-[400px] h-[400px] rounded-full bg-[#ccff00]/[0.03] blur-[100px] pointer-events-none"></div><div class="max-w-6xl mx-auto relative z-10"><div class="text-center mb-16" style="opacity:0;transform:translateY(20px);transition:none"><div class="inline-flex items-center gap-2 px-4 py-1.5 rounded-full bg-[#ccff00]/10 text-sm text-[#ccff00] border border-[#ccff00]/20 mb-6"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-variable h-3.5 w-3.5"><path d="M8 21s-4-3-4-9 4-9 4-9"></path><path d="M16 3s4 3 4 9-4 9-4 9"></path><line x1="15" x2="9" y1="9" y2="15"></line><line x1="9" x2="15" y1="9" y2="15"></line></svg>Variable System</div><h2 class="text-3xl md:text-4xl lg:text-5xl font-bold font-display tracking-tight mb-4">One Prompt. Infinite Variants.</h2><p class="text-white/50 text-lg max-w-2xl mx-auto">Create prompts with variables like <span class="font-mono text-[#ccff00]/80">{{kundenname}}</span> — our tool generates the final prompt. New client, new approach? Just change the variables.</p></div><div class="grid lg:grid-cols-2 gap-8 items-start"><div class="" style="opacity:0;transform:translateY(20px);transition:none"><div class="rounded-2xl bg-white/[0.03] border border-white/10 overflow-hidden"><div class="flex gap-1 p-4 pb-0"><button class="px-4 py-2 rounded-full text-xs font-medium transition-all cursor-pointer bg-[#ccff00] text-black">Marketing</button><button class="px-4 py-2 rounded-full text-xs font-medium transition-all cursor-pointer bg-white/5 text-white/40 hover:text-white/60">Development</button><button class="px-4 py-2 rounded-full text-xs font-medium transition-all cursor-pointer bg-white/5 text-white/40 hover:text-white/60">Design</button></div><div class="p-6 space-y-5" style="opacity:0;transform:translateY(8px)"><div class="flex items-center gap-3"><div class="w-10 h-10 rounded-xl bg-[#ccff00]/10 flex items-center justify-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-send h-5 w-5 text-[#ccff00]"><path d="M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z"></path><path d="m21.854 2.147-10.94 10.939"></path></svg></div><div><div class="font-semibold text-white">Product Description</div><div class="text-xs text-white/30">3 Variables · v2.1</div></div></div><div class="space-y-2"><div class="flex items-center gap-3 p-3 rounded-xl bg-white/[0.04] border border-white/5" style="opacity:0;transform:translateX(-10px)"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-variable h-3.5 w-3.5 text-[#ccff00]/60 flex-shrink-0"><path d="M8 21s-4-3-4-9 4-9 4-9"></path><path d="M16 3s4 3 4 9-4 9-4 9"></path><line x1="15" x2="9" y1="9" y2="15"></line><line x1="9" x2="15" y1="9" y2="15"></line></svg><span class="text-xs text-white/40 font-mono">{{productname}}</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right h-3 w-3 text-white/15 flex-shrink-0"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg><span class="text-sm text-white/80 font-medium">AirPods Pro 3</span></div><div class="flex items-center gap-3 p-3 rounded-xl bg-white/[0.04] border border-white/5" style="opacity:0;transform:translateX(-10px)"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-variable h-3.5 w-3.5 text-[#ccff00]/60 flex-shrink-0"><path d="M8 21s-4-3-4-9 4-9 4-9"></path><path d="M16 3s4 3 4 9-4 9-4 9"></path><line x1="15" x2="9" y1="9" y2="15"></line><line x1="9" x2="15" y1="9" y2="15"></line></svg><span class="text-xs text-white/40 font-mono">{{audience}}</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right h-3 w-3 text-white/15 flex-shrink-0"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg><span class="text-sm text-white/80 font-medium">Tech Enthusiasts</span></div><div class="flex items-center gap-3 p-3 rounded-xl bg-white/[0.04] border border-white/5" style="opacity:0;transform:translateX(-10px)"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-variable h-3.5 w-3.5 text-[#ccff00]/60 flex-shrink-0"><path d="M8 21s-4-3-4-9 4-9 4-9"></path><path d="M16 3s4 3 4 9-4 9-4 9"></path><line x1="15" x2="9" y1="9" y2="15"></line><line x1="9" x2="15" y1="9" y2="15"></line></svg><span class="text-xs text-white/40 font-mono">{{tonality}}</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right h-3 w-3 text-white/15 flex-shrink-0"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg><span class="text-sm text-white/80 font-medium">Premium &amp; Modern</span></div></div><div class="p-4 rounded-xl bg-white/[0.02] border border-white/5"><div class="text-[10px] text-white/20 uppercase tracking-wider mb-2 font-medium">Prompt template</div><p class="text-sm text-white/60 leading-relaxed"><span>Create a compelling product description for [productname] that appeals to [audience]. Use a [tonality] tone.</span></p></div><button class="w-full flex items-center justify-center gap-2 py-3 rounded-full text-sm font-semibold transition-all cursor-pointer bg-[#ccff00] text-black hover:bg-[#b8e600]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-play h-4 w-4"><polygon points="6 3 20 12 6 21 6 3"></polygon></svg>Generate prompt</button></div><div class="flex gap-1.5 justify-center pb-5"><div class="h-1 rounded-full transition-all duration-500 w-6 bg-[#ccff00]"></div><div class="h-1 rounded-full transition-all duration-500 w-1.5 bg-white/10"></div><div class="h-1 rounded-full transition-all duration-500 w-1.5 bg-white/10"></div></div></div></div><div class="space-y-6"><div class="" style="opacity:0;transform:translateY(20px);transition:none"><div class="rounded-2xl bg-white/[0.03] border border-white/10 p-6 min-h-[200px]"><div class="text-[10px] text-white/20 uppercase tracking-wider mb-3 font-medium flex items-center gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles h-3 w-3 text-[#ccff00]/40"><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"></path><path d="M20 3v4"></path><path d="M22 5h-4"></path><path d="M4 17v2"></path><path d="M5 18H3"></path></svg>Generated Output</div><div class="flex flex-col items-center justify-center py-8 text-center" style="opacity:0"><div class="w-12 h-12 rounded-full bg-white/5 flex items-center justify-center mb-3"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-play h-5 w-5 text-white/20"><polygon points="6 3 20 12 6 21 6 3"></polygon></svg></div><p class="text-sm text-white/25">Click &quot;Generate prompt&quot; to see the result</p></div></div></div><div class="" style="opacity:0;transform:translateY(20px);transition:none"><div class="grid gap-4"><div class="flex gap-4 p-4 rounded-xl bg-white/[0.02] border border-white/5 hover:bg-white/[0.04] transition-colors"><div class="w-9 h-9 rounded-lg bg-[#ccff00]/10 flex items-center justify-center flex-shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rotate-ccw h-4 w-4 text-[#ccff00]"><path d="M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"></path><path d="M3 3v5h5"></path></svg></div><div><div class="text-sm font-semibold text-white mb-0.5">Reusable every time</div><div class="text-xs text-white/40 leading-relaxed">New client? New product? Just change the variables — the prompt stays just as good.</div></div></div><div class="flex gap-4 p-4 rounded-xl bg-white/[0.02] border border-white/5 hover:bg-white/[0.04] transition-colors"><div class="w-9 h-9 rounded-lg bg-[#ccff00]/10 flex items-center justify-center flex-shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-users h-4 w-4 text-[#ccff00]"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><circle cx="9" cy="7" r="4"></circle><path d="M22 21v-2a4 4 0 0 0-3-3.87"></path><path d="M16 3.13a4 4 0 0 1 0 7.75"></path></svg></div><div><div class="text-sm font-semibold text-white mb-0.5">Share with your team</div><div class="text-xs text-white/40 leading-relaxed">Your team uses the same prompts with their own variables. Consistent quality, every time.</div></div></div><div class="flex gap-4 p-4 rounded-xl bg-white/[0.02] border border-white/5 hover:bg-white/[0.04] transition-colors"><div class="w-9 h-9 rounded-lg bg-[#ccff00]/10 flex items-center justify-center flex-shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-trending-up h-4 w-4 text-[#ccff00]"><polyline points="22 7 13.5 15.5 8.5 10.5 2 17"></polyline><polyline points="16 7 22 7 22 13"></polyline></svg></div><div><div class="text-sm font-semibold text-white mb-0.5">Optimize once, benefit always</div><div class="text-xs text-white/40 leading-relaxed">Improve the template prompt and all future outputs automatically get better.</div></div></div></div></div><div class="" style="opacity:0;transform:translateY(20px);transition:none"><button class="flex items-center justify-center gap-2 w-full py-3.5 rounded-full bg-[#ccff00] text-black font-semibold text-sm hover:bg-[#b8e600] transition-colors">Get started free<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right h-4 w-4"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></button></div></div></div></div></section><section id="features" class="py-24 md:py-32 px-6 bg-gray-50/50" data-testid="section-features"><div class="max-w-6xl mx-auto"><div class="text-center mb-16" style="opacity:0;transform:translateY(20px);transition:none"><div class="inline-flex items-center gap-2 px-4 py-1.5 rounded-full bg-black text-sm text-[#ccff00] border border-gray-800 mb-6"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles h-3.5 w-3.5 text-[#ccff00]"><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"></path><path d="M20 3v4"></path><path d="M22 5h-4"></path><path d="M4 17v2"></path><path d="M5 18H3"></path></svg>Features</div><h2 class="text-3xl md:text-4xl lg:text-5xl font-bold font-display tracking-tight mb-4">Everything you need</h2><p class="text-gray-500 text-lg max-w-2xl mx-auto">Powerful tools for professional prompt management — clear and intuitive.</p></div><!--$?--><template id="B:0"></template><div class="min-h-[400px]"></div><!--/$--></div></section><section id="benefits" class="py-24 md:py-32 px-6" data-testid="section-benefits"><div class="max-w-6xl mx-auto"><div class="grid lg:grid-cols-2 gap-16 items-center"><div><div class="" style="opacity:0;transform:translateY(20px);transition:none"><div class="inline-flex items-center gap-2 px-4 py-1.5 rounded-full bg-black text-sm text-[#ccff00] border border-gray-800 mb-6"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-zap h-3.5 w-3.5 text-[#ccff00]"><path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"></path></svg>Benefits</div><h2 class="text-3xl md:text-4xl font-bold font-display tracking-tight mb-4">Why Prompt2Love?</h2><p class="text-gray-500 text-lg mb-10">More than just saving — a complete platform for professional prompt engineering.</p></div><div class="space-y-8"><div class="" style="opacity:0;transform:translateY(20px);transition:none"><div class="flex gap-4" data-testid="benefit-0"><div class="w-10 h-10 rounded-xl bg-[#ccff00]/10 flex items-center justify-center flex-shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-zap h-5 w-5 text-gray-700"><path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"></path></svg></div><div><h3 class="font-semibold text-base mb-1 text-gray-900">Lightning-fast access</h3><p class="text-sm text-gray-500 leading-relaxed">Find any prompt in seconds with intelligent search and hierarchical navigation.</p></div></div></div><div class="" style="opacity:0;transform:translateY(20px);transition:none"><div class="flex gap-4" data-testid="benefit-1"><div class="w-10 h-10 rounded-xl bg-[#ccff00]/10 flex items-center justify-center flex-shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-shield h-5 w-5 text-gray-700"><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"></path></svg></div><div><h3 class="font-semibold text-base mb-1 text-gray-900">Secure &amp; Private</h3><p class="text-sm text-gray-500 leading-relaxed">Your prompts belong to you. Full control over public and private content.</p></div></div></div><div class="" style="opacity:0;transform:translateY(20px);transition:none"><div class="flex gap-4" data-testid="benefit-2"><div class="w-10 h-10 rounded-xl bg-[#ccff00]/10 flex items-center justify-center flex-shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-trending-up h-5 w-5 text-gray-700"><polyline points="22 7 13.5 15.5 8.5 10.5 2 17"></polyline><polyline points="16 7 22 7 22 13"></polyline></svg></div><div><h3 class="font-semibold text-base mb-1 text-gray-900">Continuous improvement</h3><p class="text-sm text-gray-500 leading-relaxed">Track your results, optimize iteratively, and build a library of proven prompts.</p></div></div></div></div></div><div class="" style="opacity:0;transform:translateY(20px);transition:none"><!--$?--><template id="B:1"></template><div class="h-64 rounded-2xl bg-gray-100 animate-pulse"></div><!--/$--></div></div></div></section><section id="skills" class="py-24 md:py-32 px-6" data-testid="section-skills"><div class="max-w-6xl mx-auto"><div class="grid lg:grid-cols-2 gap-16 items-center"><div class="" style="opacity:0;transform:translateY(20px);transition:none"><div class="inline-flex items-center gap-2 px-4 py-1.5 rounded-full bg-black text-sm text-[#ccff00] border border-gray-800 mb-6"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles h-3.5 w-3.5 text-[#ccff00]"><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"></path><path d="M20 3v4"></path><path d="M22 5h-4"></path><path d="M4 17v2"></path><path d="M5 18H3"></path></svg>Skills</div><h2 class="text-3xl md:text-4xl font-bold font-display tracking-tight mb-4">Reusable AI Skills</h2><p class="text-gray-500 text-lg mb-8">Create modular skills for use across projects. Share with the community and discover skills from other prompt engineers.</p><div class="space-y-4"><div class="" style="opacity:0;transform:translateY(20px);transition:none"><div class="flex gap-3 items-start"><div class="w-8 h-8 rounded-lg bg-[#ccff00]/10 flex items-center justify-center flex-shrink-0 mt-0.5"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check h-4 w-4 text-[#ccff00]"><path d="M20 6 9 17l-5-5"></path></svg></div><div><h3 class="font-semibold text-sm text-gray-900 mb-0.5">Create &amp; Share</h3><p class="text-sm text-gray-500">Build skills once, use everywhere. Share publicly or keep private.</p></div></div></div><div class="" style="opacity:0;transform:translateY(20px);transition:none"><div class="flex gap-3 items-start"><div class="w-8 h-8 rounded-lg bg-[#ccff00]/10 flex items-center justify-center flex-shrink-0 mt-0.5"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check h-4 w-4 text-[#ccff00]"><path d="M20 6 9 17l-5-5"></path></svg></div><div><h3 class="font-semibold text-sm text-gray-900 mb-0.5">Community Voting</h3><p class="text-sm text-gray-500">The best skills rise through votes. Discover proven solutions from other pros.</p></div></div></div><div class="" style="opacity:0;transform:translateY(20px);transition:none"><div class="flex gap-3 items-start"><div class="w-8 h-8 rounded-lg bg-[#ccff00]/10 flex items-center justify-center flex-shrink-0 mt-0.5"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check h-4 w-4 text-[#ccff00]"><path d="M20 6 9 17l-5-5"></path></svg></div><div><h3 class="font-semibold text-sm text-gray-900 mb-0.5">Categorized &amp; searchable</h3><p class="text-sm text-gray-500">Find the right skill instantly with tags, categories, and full-text search.</p></div></div></div></div></div><div class="" style="opacity:0;transform:translateY(20px);transition:none"><div class="relative"><div class="absolute -inset-4 bg-gradient-to-br from-[#ccff00]/10 via-transparent to-gray-100/50 rounded-3xl blur-2xl"></div><div class="relative rounded-2xl bg-white border border-gray-200 shadow-[0_20px_60px_rgba(0,0,0,0.08)] p-6 space-y-3"><div class="flex items-center gap-3 p-3 rounded-xl bg-gray-50 border border-gray-100 hover:border-[#ccff00]/30 transition-colors"><div class="w-9 h-9 rounded-lg bg-[#ccff00]/15 flex items-center justify-center flex-shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles h-4 w-4 text-gray-700"><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"></path><path d="M20 3v4"></path><path d="M22 5h-4"></path><path d="M4 17v2"></path><path d="M5 18H3"></path></svg></div><div class="flex-1 min-w-0"><div class="text-sm font-medium text-gray-900 truncate">SEO Meta Generator</div><div class="text-xs text-gray-500">by<!-- --> <!-- -->Sarah K.</div></div><div class="flex items-center gap-1.5 flex-shrink-0"><span class="text-[9px] px-1.5 py-0.5 bg-[#ccff00]/10 rounded text-gray-600 hidden sm:inline">Marketing</span><span class="text-[9px] px-1.5 py-0.5 bg-[#ccff00]/10 rounded text-gray-600 hidden sm:inline">SEO</span><span class="text-xs font-medium text-gray-500 ml-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-trending-up h-3 w-3 inline mr-0.5 text-[#ccff00]"><polyline points="22 7 13.5 15.5 8.5 10.5 2 17"></polyline><polyline points="16 7 22 7 22 13"></polyline></svg>234</span></div></div><div class="flex items-center gap-3 p-3 rounded-xl bg-gray-50 border border-gray-100 hover:border-[#ccff00]/30 transition-colors"><div class="w-9 h-9 rounded-lg bg-[#ccff00]/15 flex items-center justify-center flex-shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles h-4 w-4 text-gray-700"><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"></path><path d="M20 3v4"></path><path d="M22 5h-4"></path><path d="M4 17v2"></path><path d="M5 18H3"></path></svg></div><div class="flex-1 min-w-0"><div class="text-sm font-medium text-gray-900 truncate">Code Review Assistant</div><div class="text-xs text-gray-500">by<!-- --> <!-- -->Max L.</div></div><div class="flex items-center gap-1.5 flex-shrink-0"><span class="text-[9px] px-1.5 py-0.5 bg-[#ccff00]/10 rounded text-gray-600 hidden sm:inline">Dev</span><span class="text-[9px] px-1.5 py-0.5 bg-[#ccff00]/10 rounded text-gray-600 hidden sm:inline">Review</span><span class="text-xs font-medium text-gray-500 ml-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-trending-up h-3 w-3 inline mr-0.5 text-[#ccff00]"><polyline points="22 7 13.5 15.5 8.5 10.5 2 17"></polyline><polyline points="16 7 22 7 22 13"></polyline></svg>189</span></div></div><div class="flex items-center gap-3 p-3 rounded-xl bg-gray-50 border border-gray-100 hover:border-[#ccff00]/30 transition-colors"><div class="w-9 h-9 rounded-lg bg-[#ccff00]/15 flex items-center justify-center flex-shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles h-4 w-4 text-gray-700"><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"></path><path d="M20 3v4"></path><path d="M22 5h-4"></path><path d="M4 17v2"></path><path d="M5 18H3"></path></svg></div><div class="flex-1 min-w-0"><div class="text-sm font-medium text-gray-900 truncate">Brand Voice Builder</div><div class="text-xs text-gray-500">by<!-- --> <!-- -->Lisa M.</div></div><div class="flex items-center gap-1.5 flex-shrink-0"><span class="text-[9px] px-1.5 py-0.5 bg-[#ccff00]/10 rounded text-gray-600 hidden sm:inline">Branding</span><span class="text-xs font-medium text-gray-500 ml-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-trending-up h-3 w-3 inline mr-0.5 text-[#ccff00]"><polyline points="22 7 13.5 15.5 8.5 10.5 2 17"></polyline><polyline points="16 7 22 7 22 13"></polyline></svg>156</span></div></div><div class="flex items-center gap-3 p-3 rounded-xl bg-gray-50 border border-gray-100 hover:border-[#ccff00]/30 transition-colors"><div class="w-9 h-9 rounded-lg bg-[#ccff00]/15 flex items-center justify-center flex-shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles h-4 w-4 text-gray-700"><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"></path><path d="M20 3v4"></path><path d="M22 5h-4"></path><path d="M4 17v2"></path><path d="M5 18H3"></path></svg></div><div class="flex-1 min-w-0"><div class="text-sm font-medium text-gray-900 truncate">Data Analysis Prompt</div><div class="text-xs text-gray-500">by<!-- --> <!-- -->Tom R.</div></div><div class="flex items-center gap-1.5 flex-shrink-0"><span class="text-[9px] px-1.5 py-0.5 bg-[#ccff00]/10 rounded text-gray-600 hidden sm:inline">Analytics</span><span class="text-[9px] px-1.5 py-0.5 bg-[#ccff00]/10 rounded text-gray-600 hidden sm:inline">Data</span><span class="text-xs font-medium text-gray-500 ml-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-trending-up h-3 w-3 inline mr-0.5 text-[#ccff00]"><polyline points="22 7 13.5 15.5 8.5 10.5 2 17"></polyline><polyline points="16 7 22 7 22 13"></polyline></svg>142</span></div></div></div></div></div></div></div></section><!--$?--><template id="B:2"></template><div class="py-24 bg-gray-50/50"></div><!--/$--><section id="pricing" class="py-24 md:py-32 px-6" data-testid="section-pricing"><div class="max-w-5xl mx-auto"><div class="text-center mb-16" style="opacity:0;transform:translateY(20px);transition:none"><div class="inline-flex items-center gap-2 px-4 py-1.5 rounded-full bg-black text-sm text-[#ccff00] border border-gray-800 mb-6"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star h-3.5 w-3.5 text-[#ccff00]"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg>Pricing</div><h2 class="text-3xl md:text-4xl lg:text-5xl font-bold font-display tracking-tight mb-4">The right plan for you</h2><p class="text-gray-500 text-lg max-w-xl mx-auto">Start free and upgrade when you need more. No hidden costs.</p><div class="flex flex-wrap items-center justify-center gap-3 mt-8"><div class="flex items-center gap-1 bg-gray-100 rounded-full p-1"><button class="px-4 py-1.5 rounded-full text-sm font-medium transition-all cursor-pointer text-gray-500 hover:text-gray-700">Monthly</button><button class="px-4 py-1.5 rounded-full text-sm font-medium transition-all flex items-center gap-1.5 cursor-pointer bg-white text-gray-900 shadow-sm">Yearly<span class="px-1.5 py-0.5 bg-[#ccff00] text-black text-[10px] font-bold rounded-full leading-none">-17%</span></button></div><span class="hidden sm:block w-px h-5 bg-gray-200"></span><div class="flex items-center gap-1 bg-gray-100 rounded-full p-1"><button class="px-3 py-1.5 rounded-full text-sm font-medium transition-all cursor-pointer bg-white text-gray-900 shadow-sm">Switzerland</button><button class="px-3 py-1.5 rounded-full text-sm font-medium transition-all cursor-pointer text-gray-500 hover:text-gray-700">Europe</button><button class="px-3 py-1.5 rounded-full text-sm font-medium transition-all cursor-pointer text-gray-500 hover:text-gray-700">Rest of World</button></div></div></div><div class="grid md:grid-cols-3 gap-5"><div class="" style="opacity:0;transform:translateY(20px);transition:none"><div class="relative rounded-2xl p-7 flex flex-col h-full transition-all duration-300 bg-black border border-gray-800 text-white" data-testid="card-pricing-free"><div class="absolute -top-3 left-1/2 -translate-x-1/2"><span class="px-4 py-1 bg-[#ccff00] text-black text-xs font-bold rounded-full shadow-lg animate-pulse">Free</span></div><div class="mb-6"><h3 class="font-semibold text-lg mb-1 text-white">Free</h3><p class="text-sm text-gray-200">Perfect to start — free forever</p></div><div class="mb-6"><div class="flex items-baseline gap-1"><span class="text-4xl font-bold font-display text-[#ccff00]">0 CHF</span></div><p class="text-xs mt-1.5 text-gray-300">Free</p></div><ul class="space-y-3 mb-8 flex-1"><li class="flex items-center gap-3 text-sm text-gray-200"><div class="w-5 h-5 rounded-full flex items-center justify-center flex-shrink-0 bg-[#ccff00]/20"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check h-3 w-3 text-[#ccff00]"><path d="M20 6 9 17l-5-5"></path></svg></div>MCP server (Claude, Cursor &amp; co.)</li><li class="flex items-center gap-3 text-sm text-gray-200"><div class="w-5 h-5 rounded-full flex items-center justify-center flex-shrink-0 bg-[#ccff00]/20"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check h-3 w-3 text-[#ccff00]"><path d="M20 6 9 17l-5-5"></path></svg></div>Mac app</li><li class="flex items-center gap-3 text-sm text-gray-200"><div class="w-5 h-5 rounded-full flex items-center justify-center flex-shrink-0 bg-[#ccff00]/20"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check h-3 w-3 text-[#ccff00]"><path d="M20 6 9 17l-5-5"></path></svg></div>Chrome extension</li><li class="flex items-center gap-3 text-sm text-gray-200"><div class="w-5 h-5 rounded-full flex items-center justify-center flex-shrink-0 bg-[#ccff00]/20"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check h-3 w-3 text-[#ccff00]"><path d="M20 6 9 17l-5-5"></path></svg></div>30 Prompts</li><li class="flex items-center gap-3 text-sm text-gray-200"><div class="w-5 h-5 rounded-full flex items-center justify-center flex-shrink-0 bg-[#ccff00]/20"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check h-3 w-3 text-[#ccff00]"><path d="M20 6 9 17l-5-5"></path></svg></div>10 Skills</li><li class="flex items-center gap-3 text-sm text-gray-200"><div class="w-5 h-5 rounded-full flex items-center justify-center flex-shrink-0 bg-[#ccff00]/20"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check h-3 w-3 text-[#ccff00]"><path d="M20 6 9 17l-5-5"></path></svg></div>5 Prompts with variables</li><li class="flex items-center gap-3 text-sm text-gray-200"><div class="w-5 h-5 rounded-full flex items-center justify-center flex-shrink-0 bg-[#ccff00]/20"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check h-3 w-3 text-[#ccff00]"><path d="M20 6 9 17l-5-5"></path></svg></div>Full Community access</li><li class="flex items-center gap-3 text-sm text-gray-200"><div class="w-5 h-5 rounded-full flex items-center justify-center flex-shrink-0 bg-[#ccff00]/20"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check h-3 w-3 text-[#ccff00]"><path d="M20 6 9 17l-5-5"></path></svg></div>1 Workspace</li><li class="flex items-center gap-3 text-sm text-gray-200"><div class="w-5 h-5 rounded-full flex items-center justify-center flex-shrink-0 bg-[#ccff00]/20"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check h-3 w-3 text-[#ccff00]"><path d="M20 6 9 17l-5-5"></path></svg></div>Ticket Support</li></ul><button class="inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm transition-[transform,box-shadow] duration-150 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 hover-elevate active-elevate-2 border border-transparent min-h-11 md:min-h-9 px-4 py-2 w-full rounded-full h-11 font-medium bg-[#ccff00] text-black hover:bg-[#b8e600] border-none shadow-none" data-testid="button-pricing-free">Get started free<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right ml-1 h-4 w-4"><path d="m9 18 6-6-6-6"></path></svg></button></div></div><div class="" style="opacity:0;transform:translateY(20px);transition:none"><div class="relative rounded-2xl p-7 flex flex-col h-full transition-all duration-300 bg-[#ccff00] border-2 border-[#ccff00] shadow-[0_8px_30px_rgba(204,255,0,0.2)]" data-testid="card-pricing-pro"><div class="absolute -top-3 left-1/2 -translate-x-1/2"><span class="px-4 py-1 bg-black text-[#ccff00] text-xs font-semibold rounded-full shadow-sm">Popular</span></div><div class="mb-6"><h3 class="font-semibold text-lg mb-1 text-black">Pro</h3><p class="text-sm text-black/70">For productive users</p></div><div class="mb-6"><div class="flex items-baseline gap-1"><span class="text-lg font-medium line-through mr-1 text-black/60">15 CHF</span><span class="text-4xl font-bold font-display text-black">10 CHF</span></div><p class="text-xs mt-1.5 text-black/60">Save 33%</p></div><ul class="space-y-3 mb-8 flex-1"><li class="flex items-center gap-3 text-sm text-black/80"><div class="w-5 h-5 rounded-full flex items-center justify-center flex-shrink-0 bg-black/10"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check h-3 w-3 text-black"><path d="M20 6 9 17l-5-5"></path></svg></div>MCP server (Claude, Cursor &amp; co.)</li><li class="flex items-center gap-3 text-sm text-black/80"><div class="w-5 h-5 rounded-full flex items-center justify-center flex-shrink-0 bg-black/10"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check h-3 w-3 text-black"><path d="M20 6 9 17l-5-5"></path></svg></div>Mac app</li><li class="flex items-center gap-3 text-sm text-black/80"><div class="w-5 h-5 rounded-full flex items-center justify-center flex-shrink-0 bg-black/10"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check h-3 w-3 text-black"><path d="M20 6 9 17l-5-5"></path></svg></div>Chrome extension</li><li class="flex items-center gap-3 text-sm text-black/80"><div class="w-5 h-5 rounded-full flex items-center justify-center flex-shrink-0 bg-black/10"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check h-3 w-3 text-black"><path d="M20 6 9 17l-5-5"></path></svg></div>Unlimited Prompts</li><li class="flex items-center gap-3 text-sm text-black/80"><div class="w-5 h-5 rounded-full flex items-center justify-center flex-shrink-0 bg-black/10"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check h-3 w-3 text-black"><path d="M20 6 9 17l-5-5"></path></svg></div>Unlimited Skills</li><li class="flex items-center gap-3 text-sm text-black/80"><div class="w-5 h-5 rounded-full flex items-center justify-center flex-shrink-0 bg-black/10"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check h-3 w-3 text-black"><path d="M20 6 9 17l-5-5"></path></svg></div>Unlimited Variables</li><li class="flex items-center gap-3 text-sm text-black/80"><div class="w-5 h-5 rounded-full flex items-center justify-center flex-shrink-0 bg-black/10"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check h-3 w-3 text-black"><path d="M20 6 9 17l-5-5"></path></svg></div>Versioning &amp; History</li><li class="flex items-center gap-3 text-sm text-black/80"><div class="w-5 h-5 rounded-full flex items-center justify-center flex-shrink-0 bg-black/10"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check h-3 w-3 text-black"><path d="M20 6 9 17l-5-5"></path></svg></div>10 Workspaces</li><li class="flex items-center gap-3 text-sm text-black/80"><div class="w-5 h-5 rounded-full flex items-center justify-center flex-shrink-0 bg-black/10"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check h-3 w-3 text-black"><path d="M20 6 9 17l-5-5"></path></svg></div>Priority Support</li></ul><button class="inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm transition-[transform,box-shadow] duration-150 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 hover-elevate active-elevate-2 border border-transparent min-h-11 md:min-h-9 px-4 py-2 w-full rounded-full h-11 font-medium bg-black text-[#ccff00] hover:bg-gray-900 border-none shadow-none" data-testid="button-pricing-pro">Get started free<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-right ml-1 h-4 w-4"><path d="m9 18 6-6-6-6"></path></svg></button></div></div><div class="" style="opacity:0;transform:translateY(20px);transition:none"><div class="relative rounded-2xl p-7 flex flex-col h-full transition-all duration-300 bg-gray-100 border border-gray-200 opacity-75" data-testid="card-pricing-teams"><div class="absolute -top-3 left-1/2 -translate-x-1/2"><span class="px-4 py-1 bg-gray-300 text-gray-600 text-xs font-semibold rounded-full shadow-sm animate-pulse">Coming Soon</span></div><div class="mb-6"><h3 class="font-semibold text-lg mb-1 text-gray-500">Teams</h3><p class="text-sm text-gray-500">For teams &amp; enterprises</p></div><div class="mb-6"><div class="flex items-baseline gap-1"><span class="text-lg font-medium line-through mr-1 text-gray-500">25 CHF</span><span class="text-4xl font-bold font-display text-gray-500">16.67 CHF</span></div><p class="text-xs mt-1.5 text-gray-500">Save 33%</p></div><ul class="space-y-3 mb-8 flex-1"><li class="flex items-center gap-3 text-sm text-gray-500"><div class="w-5 h-5 rounded-full flex items-center justify-center flex-shrink-0 bg-gray-200"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check h-3 w-3 text-gray-500"><path d="M20 6 9 17l-5-5"></path></svg></div>MCP server (Claude, Cursor &amp; co.)</li><li class="flex items-center gap-3 text-sm text-gray-500"><div class="w-5 h-5 rounded-full flex items-center justify-center flex-shrink-0 bg-gray-200"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check h-3 w-3 text-gray-500"><path d="M20 6 9 17l-5-5"></path></svg></div>Mac app</li><li class="flex items-center gap-3 text-sm text-gray-500"><div class="w-5 h-5 rounded-full flex items-center justify-center flex-shrink-0 bg-gray-200"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check h-3 w-3 text-gray-500"><path d="M20 6 9 17l-5-5"></path></svg></div>Chrome extension</li><li class="flex items-center gap-3 text-sm text-gray-500"><div class="w-5 h-5 rounded-full flex items-center justify-center flex-shrink-0 bg-gray-200"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check h-3 w-3 text-gray-500"><path d="M20 6 9 17l-5-5"></path></svg></div>Unlimited Prompts &amp; Skills</li><li class="flex items-center gap-3 text-sm text-gray-500"><div class="w-5 h-5 rounded-full flex items-center justify-center flex-shrink-0 bg-gray-200"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check h-3 w-3 text-gray-500"><path d="M20 6 9 17l-5-5"></path></svg></div>Unlimited Variables</li><li class="flex items-center gap-3 text-sm text-gray-500"><div class="w-5 h-5 rounded-full flex items-center justify-center flex-shrink-0 bg-gray-200"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check h-3 w-3 text-gray-500"><path d="M20 6 9 17l-5-5"></path></svg></div>Versioning &amp; History</li><li class="flex items-center gap-3 text-sm text-gray-500"><div class="w-5 h-5 rounded-full flex items-center justify-center flex-shrink-0 bg-gray-200"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check h-3 w-3 text-gray-500"><path d="M20 6 9 17l-5-5"></path></svg></div>Unlimited Workspaces</li><li class="flex items-center gap-3 text-sm text-gray-500"><div class="w-5 h-5 rounded-full flex items-center justify-center flex-shrink-0 bg-gray-200"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check h-3 w-3 text-gray-500"><path d="M20 6 9 17l-5-5"></path></svg></div>Team Collaboration</li><li class="flex items-center gap-3 text-sm text-gray-500"><div class="w-5 h-5 rounded-full flex items-center justify-center flex-shrink-0 bg-gray-200"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check h-3 w-3 text-gray-500"><path d="M20 6 9 17l-5-5"></path></svg></div>Dedicated Support</li><li class="flex items-center gap-3 text-sm text-gray-500"><div class="w-5 h-5 rounded-full flex items-center justify-center flex-shrink-0 bg-gray-200"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check h-3 w-3 text-gray-500"><path d="M20 6 9 17l-5-5"></path></svg></div>Custom Branding</li></ul><button class="inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm transition-[transform,box-shadow] duration-150 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 hover-elevate active-elevate-2 border border-transparent min-h-11 md:min-h-9 px-4 py-2 w-full rounded-full h-11 font-medium bg-gray-200 text-gray-500 border-none cursor-not-allowed" disabled="" data-testid="button-pricing-teams">Coming Soon</button></div></div></div></div></section><section id="faq" class="py-24 md:py-32" data-testid="section-faq"><div class="" style="opacity:0;transform:translateY(20px);transition:none"><!--$?--><template id="B:3"></template><div class="max-w-4xl mx-auto h-96"></div><!--/$--></div></section><section class="py-24 md:py-32 px-6" data-testid="section-cta"><div class="" style="opacity:0;transform:translateY(20px);transition:none"><div class="max-w-4xl mx-auto text-center"><div class="rounded-3xl bg-gradient-to-br from-gray-50 via-white to-[#ccff00]/5 border border-gray-200 p-12 md:p-16 shadow-[0_2px_10px_rgba(0,0,0,0.02)] relative overflow-hidden"><div class="absolute top-0 right-0 w-64 h-64 bg-[#ccff00]/10 rounded-full blur-[80px] pointer-events-none"></div><div class="absolute bottom-0 left-0 w-48 h-48 bg-gray-100 rounded-full blur-[60px] pointer-events-none"></div><div class="relative z-10"><h2 class="text-3xl md:text-4xl font-bold font-display tracking-tight mb-4">Ready to master your prompts?</h2><p class="text-gray-500 text-lg mb-8 max-w-xl mx-auto">Join thousands of professionals who optimize their AI workflows with Prompt2Love.</p><button class="inline-flex items-center justify-center gap-2 whitespace-nowrap transition-[transform,box-shadow] duration-150 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 hover-elevate active-elevate-2 border border-transparent min-h-12 md:min-h-10 bg-[#ccff00] text-black hover:bg-[#b8e600] border-none shadow-none font-semibold rounded-full px-8 h-12 text-base" data-testid="button-cta-bottom">Get started free<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right ml-2 h-4 w-4"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></button><p class="text-xs text-gray-500 mt-4">Free · No credit card required</p></div></div></div></div></section></main><div class="relative h-screen w-full" style="clip-path:polygon(0% 0, 100% 0%, 100% 100%, 0 100%)"><footer class="fixed bottom-0 left-0 flex h-screen w-full flex-col justify-between overflow-hidden bg-black text-white" data-testid="footer"><div class="absolute left-1/2 top-1/2 h-[60vh] w-[80vw] -translate-x-1/2 -translate-y-1/2 rounded-[50%] blur-[80px] pointer-events-none z-0 bg-[radial-gradient(circle,rgba(204,255,0,0.08)_0%,rgba(204,255,0,0.02)_40%,transparent_70%)]" style="animation:footer-breathe 8s ease-in-out infinite alternate"></div><div class="absolute inset-0 z-0 pointer-events-none" style="background-size:60px 60px;background-image:linear-gradient(to right, rgba(255,255,255,0.03) 1px, transparent 1px), linear-gradient(to bottom, rgba(255,255,255,0.03) 1px, transparent 1px);mask-image:linear-gradient(to bottom, transparent, black 30%, black 70%, transparent);-webkit-mask-image:linear-gradient(to bottom, transparent, black 30%, black 70%, transparent)"></div><div class="absolute bottom-0 left-1/2 -translate-x-1/2 translate-y-[15%] z-0 pointer-events-none select-none" style="opacity:0.04;mask-image:radial-gradient(ellipse at center, white 30%, transparent 70%);-webkit-mask-image:radial-gradient(ellipse at center, white 30%, transparent 70%)"><img src="/logo-icon.png" alt="" width="376" height="376" class="h-[50vw] max-h-[500px] w-auto"/></div><div class="absolute top-12 left-0 w-full overflow-hidden border-y border-white/10 bg-black/60 backdrop-blur-md py-4 z-10 -rotate-2 scale-110"><div class="flex w-max text-xs md:text-sm font-bold tracking-[0.3em] text-gray-500 uppercase" style="animation:footer-scroll-marquee 40s linear infinite"><div class="flex items-center space-x-12 px-6"><span>Prompt Management</span> <span class="text-[#ccff00]/60">✦</span><span>AI Skills</span> <span class="text-[#ccff00]/60">✦</span><span>Community Driven</span> <span class="text-[#ccff00]/60">✦</span><span>Made in Switzerland</span> <span class="text-[#ccff00]/60">✦</span><span>Free</span> <span class="text-[#ccff00]/60">✦</span></div><div class="flex items-center space-x-12 px-6"><span>Prompt Management</span> <span class="text-[#ccff00]/60">✦</span><span>AI Skills</span> <span class="text-[#ccff00]/60">✦</span><span>Community Driven</span> <span class="text-[#ccff00]/60">✦</span><span>Made in Switzerland</span> <span class="text-[#ccff00]/60">✦</span><span>Free</span> <span class="text-[#ccff00]/60">✦</span></div></div></div><div class="relative z-10 flex flex-1 flex-col items-center justify-center px-6 mt-20 w-full max-w-3xl mx-auto text-center"><h2 class="text-5xl md:text-8xl font-black tracking-tighter mb-12 text-center" style="background:linear-gradient(180deg, #fff 0%, rgba(255,255,255,0.4) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0px 0px 20px rgba(255,255,255,0.15))">Ready to get started?</h2><div class="flex flex-col items-center gap-6 w-full"><button class="group px-10 py-5 rounded-full font-bold text-sm md:text-base flex items-center gap-3 bg-[#ccff00] text-black hover:bg-[#b8e600] transition-all duration-300 shadow-lg shadow-[#ccff00]/20">Get started free<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right h-4 w-4"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></button><div class="flex flex-wrap justify-center gap-3 md:gap-4 w-full mt-2"><button class="px-6 py-3 rounded-full text-gray-200 font-medium text-xs md:text-sm border border-white/5 backdrop-blur-xl hover:text-white hover:border-white/20 hover:bg-white/5 transition-all duration-300" data-testid="footer-link-features">Features</button><button class="px-6 py-3 rounded-full text-gray-200 font-medium text-xs md:text-sm border border-white/5 backdrop-blur-xl hover:text-white hover:border-white/20 hover:bg-white/5 transition-all duration-300" data-testid="footer-link-skills">Skills</button><button class="px-6 py-3 rounded-full text-gray-200 font-medium text-xs md:text-sm border border-white/5 backdrop-blur-xl hover:text-white hover:border-white/20 hover:bg-white/5 transition-all duration-300" data-testid="footer-link-community">Community</button><button class="px-6 py-3 rounded-full text-gray-200 font-medium text-xs md:text-sm border border-white/5 backdrop-blur-xl hover:text-white hover:border-white/20 hover:bg-white/5 transition-all duration-300" data-testid="footer-link-pricing">Pricing</button></div><div class="flex flex-wrap justify-center gap-x-4 gap-y-2 mt-1 max-w-2xl"><a href="/help" class="text-xs text-gray-400 hover:text-[#ccff00] transition-colors">Help Center</a><a href="/help/connect-chatgpt" class="text-xs text-gray-400 hover:text-[#ccff00] transition-colors">ChatGPT verbinden</a><a href="/help/connect-claude-desktop" class="text-xs text-gray-400 hover:text-[#ccff00] transition-colors">Claude verbinden</a><a href="/help/connect-cursor" class="text-xs text-gray-400 hover:text-[#ccff00] transition-colors">Cursor verbinden</a><a href="/help/install-chrome-extension" class="text-xs text-gray-400 hover:text-[#ccff00] transition-colors">Chrome-Erweiterung</a><a href="/help/install-mac-app" class="text-xs text-gray-400 hover:text-[#ccff00] transition-colors">Mac-App</a></div><div class="flex flex-wrap justify-center gap-4 mt-1"><a href="/about" class="text-xs text-gray-400 hover:text-gray-200 transition-colors" data-testid="footer-link-prompt2love">Prompt2Love</a><a href="/legal/datenschutz" class="text-xs text-gray-400 hover:text-gray-200 transition-colors" data-testid="footer-link-privacy">Privacy</a><a href="/legal/agb" class="text-xs text-gray-400 hover:text-gray-200 transition-colors" data-testid="footer-link-terms">Terms</a><a href="/legal/widerruf" class="text-xs text-gray-400 hover:text-gray-200 transition-colors" data-testid="footer-link-cancellation">Cancellation</a><a href="/legal/impressum" class="text-xs text-gray-400 hover:text-gray-200 transition-colors" data-testid="footer-link-imprint">Imprint</a><div role="group" aria-label="Change language" class="inline-flex items-center rounded-full p-0.5 transition-all duration-300 bg-muted"><span aria-current="true" class="relative px-3 py-1 rounded-full text-xs font-medium bg-primary text-primary-foreground shadow-sm">EN</span><a href="/de" data-testid="locale-switcher" class="relative px-3 py-1 rounded-full text-xs font-medium transition-all duration-200 text-foreground/60 hover:text-foreground">DE</a></div></div></div></div><div class="relative z-20 w-full pb-8 px-6 md:px-12 flex flex-col md:flex-row items-center justify-center gap-6"><p class="text-gray-500 text-xs font-semibold tracking-widest uppercase order-2 md:order-1">© 2026 Prompt2Love. All rights reserved.</p><div class="px-6 py-3 rounded-full flex items-center gap-2 order-1 md:order-2 border border-white/5 backdrop-blur-xl bg-white/[0.03]"><span class="text-gray-200 text-xs font-bold uppercase tracking-widest">Made in</span><span class="text-white font-black text-xs md:text-sm">Switzerland</span><span class="text-base">🇨🇭</span></div><button class="w-12 h-12 rounded-full border border-white/10 backdrop-blur-xl bg-white/[0.03] flex items-center justify-center text-gray-200 hover:text-white hover:border-white/20 transition-all group order-3" aria-label="Scroll to top"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up h-5 w-5 transform group-hover:-translate-y-1 transition-transform duration-300"><path d="m5 12 7-7 7 7"></path><path d="M12 19V5"></path></svg></button></div></footer></div></div><!--$--><!--/$--></main><!--$--><!--/$--><div role="region" aria-label="Notifications (F8)" tabindex="-1" style="pointer-events:none"><ol tabindex="-1" class="fixed bottom-0 z-[100] flex max-h-screen w-full flex-col p-4 pb-20 md:pb-4 sm:right-0 md:max-w-[420px]"></ol></div><!--$--><!--/$--><!--$?--><template id="B:4"></template><!--/$--><script>requestAnimationFrame(function(){$RT=performance.now()});</script><script src="/_next/static/chunks/142hzh-mzkm3a.js" id="_R_" async=""></script><div hidden id="S:0"><div class="grid w-full grid-cols-1 gap-4 md:grid-cols-3 md:grid-rows-3 auto-rows-[minmax(160px,auto)]"><div class="md:col-span-1 md:row-span-3 transition-all duration-500 ease-out opacity-0 translate-y-4" style="transition-delay:0ms"><div class="group h-full rounded-2xl bg-white border border-gray-100 hover:border-gray-200 shadow-[0_1px_3px_rgba(0,0,0,0.02)] hover:shadow-[0_8px_30px_rgba(0,0,0,0.06)] transition-all duration-300 p-7 flex flex-col" data-testid="card-feature-0"><div class="w-12 h-12 rounded-2xl bg-gray-900 flex items-center justify-center mb-5"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-folder-tree h-5 w-5 text-[#ccff00]"><path d="M20 10a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2.5a1 1 0 0 1-.8-.4l-.9-1.2A1 1 0 0 0 15 3h-2a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z"></path><path d="M20 21a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-2.9a1 1 0 0 1-.88-.55l-.42-.85a1 1 0 0 0-.92-.6H13a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z"></path><path d="M3 5a2 2 0 0 0 2 2h3"></path><path d="M3 3v13a2 2 0 0 0 2 2h3"></path></svg></div><h3 class="font-bold text-xl mb-3 text-gray-900">Prompt Library</h3><p class="text-gray-500 leading-relaxed mb-6 flex-1">Save unlimited prompts with versioning, tags, and categories. Find any prompt in seconds — no matter how large your collection.</p><div class="flex flex-wrap gap-2 mb-6"><span class="inline-flex items-center gap-1 text-xs font-medium px-2.5 py-1 rounded-full bg-gray-100 text-gray-600"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check h-3 w-3 text-[#ccff00]"><path d="M20 6 9 17l-5-5"></path></svg>Unlimited Prompts</span><span class="inline-flex items-center gap-1 text-xs font-medium px-2.5 py-1 rounded-full bg-gray-100 text-gray-600"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check h-3 w-3 text-[#ccff00]"><path d="M20 6 9 17l-5-5"></path></svg>Versioning</span><span class="inline-flex items-center gap-1 text-xs font-medium px-2.5 py-1 rounded-full bg-gray-100 text-gray-600"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check h-3 w-3 text-[#ccff00]"><path d="M20 6 9 17l-5-5"></path></svg>Tags &amp; Categories</span><span class="inline-flex items-center gap-1 text-xs font-medium px-2.5 py-1 rounded-full bg-gray-100 text-gray-600"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check h-3 w-3 text-[#ccff00]"><path d="M20 6 9 17l-5-5"></path></svg>Full-text search</span></div><div class="rounded-xl bg-gray-950 border border-gray-800/50 p-3 space-y-1.5"><div class="flex items-center gap-2 p-2 rounded-lg text-[10px] bg-gray-800 text-white"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-send h-3 w-3 text-[#ccff00]"><path d="M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z"></path><path d="m21.854 2.147-10.94 10.939"></path></svg><span class="font-medium">Product Description</span></div><div class="flex items-center gap-2 p-2 rounded-lg text-[10px] text-gray-600"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-send h-3 w-3 "><path d="M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z"></path><path d="m21.854 2.147-10.94 10.939"></path></svg><span class="font-medium">Code Review</span></div><div class="flex items-center gap-2 p-2 rounded-lg text-[10px] text-gray-600"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-send h-3 w-3 "><path d="M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z"></path><path d="m21.854 2.147-10.94 10.939"></path></svg><span class="font-medium">SEO Meta Tags</span></div></div></div></div><div class="md:col-span-1 md:row-span-1 transition-all duration-500 ease-out opacity-0 translate-y-4" style="transition-delay:0ms"><div class="group h-full rounded-2xl bg-white border border-gray-100 hover:border-gray-200 shadow-[0_1px_3px_rgba(0,0,0,0.02)] hover:shadow-[0_4px_16px_rgba(0,0,0,0.06)] transition-all duration-300 p-6 flex flex-col justify-between" data-testid="card-feature-1"><div><div class="w-11 h-11 rounded-xl bg-[#ccff00]/10 flex items-center justify-center mb-4 group-hover:bg-[#ccff00]/20 transition-colors"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles h-5 w-5 text-gray-700"><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"></path><path d="M20 3v4"></path><path d="M22 5h-4"></path><path d="M4 17v2"></path><path d="M5 18H3"></path></svg></div><h3 class="font-semibold text-base mb-1.5 text-gray-900">Skills</h3><p class="text-sm text-gray-500 leading-relaxed">Create reusable AI building blocks and share with the community.</p></div></div></div><div class="md:col-span-1 md:row-span-1 transition-all duration-500 ease-out opacity-0 translate-y-4" style="transition-delay:0ms"><div class="group h-full rounded-2xl bg-gray-900 border border-gray-800 overflow-hidden relative flex items-center justify-center" data-testid="card-feature-2"><div class="absolute inset-0 opacity-20" style="background-image:radial-gradient(rgba(204,255,0,0.3) 1px, transparent 1px);background-size:16px 16px"></div><div class="relative z-10 text-center"><span class="text-6xl md:text-7xl font-black text-[#ccff00]">∞</span><p class="text-xs text-gray-300 mt-2 uppercase tracking-wider font-semibold">Prompts &amp; Skills</p></div></div></div><div class="md:col-span-1 md:row-span-1 transition-all duration-500 ease-out opacity-0 translate-y-4" style="transition-delay:0ms"><div class="group h-full rounded-2xl bg-white border border-gray-100 hover:border-gray-200 shadow-[0_1px_3px_rgba(0,0,0,0.02)] hover:shadow-[0_4px_16px_rgba(0,0,0,0.06)] transition-all duration-300 p-6 flex flex-col justify-between" data-testid="card-feature-3"><div><div class="w-11 h-11 rounded-xl bg-[#ccff00]/10 flex items-center justify-center mb-4 group-hover:bg-[#ccff00]/20 transition-colors"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-users h-5 w-5 text-gray-700"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><circle cx="9" cy="7" r="4"></circle><path d="M22 21v-2a4 4 0 0 0-3-3.87"></path><path d="M16 3.13a4 4 0 0 1 0 7.75"></path></svg></div><h3 class="font-semibold text-base mb-1.5 text-gray-900">Community</h3><p class="text-sm text-gray-500 leading-relaxed">Connect with prompt engineers worldwide. Discover new approaches.</p></div></div></div><div class="md:col-span-1 md:row-span-1 transition-all duration-500 ease-out opacity-0 translate-y-4" style="transition-delay:0ms"><div class="group h-full rounded-2xl bg-white border border-gray-100 hover:border-gray-200 shadow-[0_1px_3px_rgba(0,0,0,0.02)] hover:shadow-[0_4px_16px_rgba(0,0,0,0.06)] transition-all duration-300 p-6 flex flex-col justify-between" data-testid="card-feature-4"><div><div class="w-11 h-11 rounded-xl bg-[#ccff00]/10 flex items-center justify-center mb-4 group-hover:bg-[#ccff00]/20 transition-colors"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chrome h-5 w-5 text-gray-700"><circle cx="12" cy="12" r="10"></circle><circle cx="12" cy="12" r="4"></circle><line x1="21.17" x2="12" y1="8" y2="8"></line><line x1="3.95" x2="8.54" y1="6.06" y2="14"></line><line x1="10.88" x2="15.46" y1="21.94" y2="14"></line></svg></div><h3 class="font-semibold text-base mb-1.5 text-gray-900">Chrome Extension</h3><p class="text-sm text-gray-500 leading-relaxed">Save prompts from any website — select text, click, done.</p></div></div></div><div class="md:col-span-2 md:row-span-1 transition-all duration-500 ease-out opacity-0 translate-y-4" style="transition-delay:0ms"><div class="group h-full rounded-2xl bg-white border border-gray-100 hover:border-gray-200 shadow-[0_1px_3px_rgba(0,0,0,0.02)] hover:shadow-[0_4px_16px_rgba(0,0,0,0.06)] transition-all duration-300 p-6 flex items-center justify-between gap-6" data-testid="card-feature-5"><div><div class="w-11 h-11 rounded-xl bg-[#ccff00]/10 flex items-center justify-center mb-4 group-hover:bg-[#ccff00]/20 transition-colors"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-cpu h-5 w-5 text-gray-700"><rect width="16" height="16" x="4" y="4" rx="2"></rect><rect width="6" height="6" x="9" y="9" rx="1"></rect><path d="M15 2v2"></path><path d="M15 20v2"></path><path d="M2 15h2"></path><path d="M2 9h2"></path><path d="M20 15h2"></path><path d="M20 9h2"></path><path d="M9 2v2"></path><path d="M9 20v2"></path></svg></div><h3 class="font-semibold text-base mb-1.5 text-gray-900">Multi-Tool Support</h3><p class="text-sm text-gray-500 leading-relaxed">ChatGPT, Claude, Midjourney, DALL-E and 50+ more AI tools.</p></div><div class="flex items-center gap-2 flex-shrink-0"><span class="px-3 py-1.5 rounded-lg border border-gray-200 bg-gray-50 text-xs font-medium text-gray-600">GPT-4</span><span class="px-3 py-1.5 rounded-lg border border-gray-200 bg-gray-50 text-xs font-medium text-gray-600">Claude</span><span class="px-3 py-1.5 rounded-lg border border-gray-200 bg-gray-50 text-xs font-medium text-gray-600">MJ</span></div></div></div></div></div><script>$RB=[];$RV=function(a){$RT=performance.now();for(var b=0;b<a.length;b+=2){var c=a[b],e=a[b+1];null!==e.parentNode&&e.parentNode.removeChild(e);var f=c.parentNode;if(f){var g=c.previousSibling,h=0;do{if(c&&8===c.nodeType){var d=c.data;if("/$"===d||"/&"===d)if(0===h)break;else h--;else"$"!==d&&"$?"!==d&&"$~"!==d&&"$!"!==d&&"&"!==d||h++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;e.firstChild;)f.insertBefore(e.firstChild,c);g.data="$";g._reactRetry&&requestAnimationFrame(g._reactRetry)}}a.length=0}; $RC=function(a,b){if(b=document.getElementById(b))(a=document.getElementById(a))?(a.previousSibling.data="$~",$RB.push(a,b),2===$RB.length&&("number"!==typeof $RT?requestAnimationFrame($RV.bind(null,$RB)):(a=performance.now(),setTimeout($RV.bind(null,$RB),2300>a&&2E3<a?2300-a:$RT+300-a)))):b.parentNode.removeChild(b)};$RC("B:0","S:0")</script><div hidden id="S:1"><div aria-hidden="true"><div class="flex items-center justify-center w-full antialiased"><div class="group relative w-full max-w-xl overflow-hidden rounded-3xl sm:rounded-[2rem] border border-gray-200 bg-white shadow-2xl shadow-black/5 transition-all duration-500 hover:shadow-black/10 hover:-translate-y-1"><div class="p-4 sm:p-6 space-y-1.5 z-10 relative"><h2 class="text-xs text-gray-400 uppercase tracking-wider">Workspace Vorschau</h2><p class="text-lg sm:text-2xl text-gray-900 font-medium leading-snug max-w-[480px]">Prompts, Skills und Community — alles an einem Ort.</p></div><div class="relative w-full h-[260px] sm:h-[300px] overflow-hidden rounded-2xl sm:rounded-[2rem]"><div class="absolute top-16 left-16 w-full h-full bg-gray-100 rounded-3xl border border-gray-200/50 opacity-80"></div><div class="absolute top-8 left-24 w-full h-full bg-white rounded-tl-3xl shadow-xl flex flex-col overflow-hidden ring-4 ring-gray-200/50"><div class="px-5 py-4 rounded-tl-3xl border-b border-gray-100 flex items-center relative backdrop-blur-sm"><div class="flex gap-1.5"><div class="w-2 h-2 rounded-full bg-gray-200"></div><div class="w-2 h-2 rounded-full bg-gray-200"></div><div class="w-2 h-2 rounded-full bg-gray-200"></div></div><div class="absolute left-1/2 -translate-x-1/2 flex items-center gap-2"><span class="text-xs text-gray-400 uppercase tracking-wider">Prompt2Love</span></div></div><div class="flex flex-1 overflow-hidden"><div class="w-36 border-r border-gray-100 p-2 flex flex-col gap-1 pt-6 bg-gray-50/50"><button class="relative flex items-center gap-1.5 p-2 rounded-xl text-xs transition-all duration-300 cursor-pointer text-gray-900 bg-gray-100 border border-gray-200/50"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file-text w-3.5 h-3.5 z-20 shrink-0 relative"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"></path><path d="M14 2v4a2 2 0 0 0 2 2h4"></path><path d="M10 9H8"></path><path d="M16 13H8"></path><path d="M16 17H8"></path></svg><span class="truncate z-20 relative font-medium">Prompts</span><div class="absolute left-0 w-[2px] h-4 rounded-full bg-[#ccff00] z-30 transition-opacity duration-300 opacity-100"></div></button><button class="relative flex items-center gap-1.5 p-2 rounded-xl text-xs transition-all duration-300 cursor-pointer text-gray-400 hover:text-gray-700 border border-transparent"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles w-3.5 h-3.5 z-20 shrink-0 relative"><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"></path><path d="M20 3v4"></path><path d="M22 5h-4"></path><path d="M4 17v2"></path><path d="M5 18H3"></path></svg><span class="truncate z-20 relative font-medium">Skills</span><span class="ml-auto text-[8px] leading-none py-0.5 px-1 rounded-md tabular-nums transition-all z-20 relative bg-gray-100 text-gray-400 border border-transparent">Neu</span><div class="absolute left-0 w-[2px] h-4 rounded-full bg-[#ccff00] z-30 transition-opacity duration-300 opacity-0"></div></button><button class="relative flex items-center gap-1.5 p-2 rounded-xl text-xs transition-all duration-300 cursor-pointer text-gray-400 hover:text-gray-700 border border-transparent"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-globe w-3.5 h-3.5 z-20 shrink-0 relative"><circle cx="12" cy="12" r="10"></circle><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"></path><path d="M2 12h20"></path></svg><span class="truncate z-20 relative font-medium">Community</span><span class="ml-auto text-[8px] leading-none py-0.5 px-1 rounded-md tabular-nums transition-all z-20 relative bg-gray-100 text-gray-400 border border-transparent">124</span><div class="absolute left-0 w-[2px] h-4 rounded-full bg-[#ccff00] z-30 transition-opacity duration-300 opacity-0"></div></button><button class="relative flex items-center gap-1.5 p-2 rounded-xl text-xs transition-all duration-300 cursor-pointer text-gray-400 hover:text-gray-700 border border-transparent"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-users w-3.5 h-3.5 z-20 shrink-0 relative"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><circle cx="9" cy="7" r="4"></circle><path d="M22 21v-2a4 4 0 0 0-3-3.87"></path><path d="M16 3.13a4 4 0 0 1 0 7.75"></path></svg><span class="truncate z-20 relative font-medium">Magazin</span><span class="ml-auto text-[8px] leading-none py-0.5 px-1 rounded-md tabular-nums transition-all z-20 relative bg-gray-100 text-gray-400 border border-transparent">8</span><div class="absolute left-0 w-[2px] h-4 rounded-full bg-[#ccff00] z-30 transition-opacity duration-300 opacity-0"></div></button></div><div class="flex-1 bg-white p-5 pt-6 flex flex-col gap-4 overflow-hidden relative"><header class="flex flex-col gap-0.5"><h3 class="text-xs font-semibold text-gray-900 tracking-tight uppercase opacity-60">Prompt-Bibliothek</h3><p class="text-[10px] text-gray-400 font-normal leading-tight">Verwalte und organisiere alle deine Prompts.</p></header><div class="flex-1" style="opacity:1;filter:blur(0px);transform:none"><div class="flex flex-col gap-3 h-full"><div class="relative p-3.5 rounded-xl border border-gray-100 bg-gradient-to-br from-white to-gray-50/50 overflow-hidden"><div class="flex flex-col gap-2 relative z-10"><div class="flex items-center justify-between"><span class="text-[9px] font-medium text-gray-400">Aktive Prompts</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right w-3 h-3 text-[#ccff00]"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></path></svg></div><div class="flex flex-col gap-0.5"><span class="text-xl font-medium tracking-tight text-gray-900">47</span><div class="w-full h-1 bg-gray-100 rounded-full overflow-hidden mt-1"><div class="h-full bg-[#ccff00] rounded-full transition-all duration-1000" style="width:94%"></div></div></div><span class="text-[9px] text-gray-400">47 von 50 im Free-Plan</span></div><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-trending-up absolute -right-2 -bottom-2 w-16 h-16 text-gray-100"><polyline points="22 7 13.5 15.5 8.5 10.5 2 17"></polyline><polyline points="16 7 22 7 22 13"></polyline></svg></div><div class="grid grid-cols-2 gap-2"><div class="p-3 rounded-xl border border-gray-100 bg-white flex items-center justify-between"><div class="flex flex-col"><span class="text-[10px] font-medium text-gray-900">12</span><span class="text-[8px] text-gray-400 uppercase font-medium">Kategorien</span></div><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search w-3.5 h-3.5 text-gray-200"><circle cx="11" cy="11" r="8"></circle><path d="m21 21-4.3-4.3"></path></svg></div><div class="p-3 rounded-xl border border-gray-100 bg-white flex items-center justify-between"><div class="flex flex-col"><span class="text-[10px] font-medium text-gray-900">v3.2</span><span class="text-[8px] text-gray-400 uppercase font-medium">Letzte Version</span></div><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star w-3.5 h-3.5 text-gray-200"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg></div></div></div></div><div class="absolute bottom-0 left-0 right-0 h-10 bg-gradient-to-t from-white to-transparent pointer-events-none z-20"></div></div></div></div></div></div></div></div></div><script>$RC("B:1","S:1")</script><div hidden id="S:2"><section class="py-24 overflow-hidden bg-gray-50/50"><div class="px-6 max-w-5xl mx-auto"><div class="grid grid-cols-1 gap-16 md:grid-cols-2 lg:gap-24" style="opacity:0"><div class="flex flex-col justify-center" style="opacity:0;transform:translateY(20px)"><div class="space-y-6"><div class="inline-flex items-center gap-2 px-4 py-1.5 rounded-full bg-black text-sm text-[#ccff00] border border-gray-800"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star h-3.5 w-3.5 fill-[#ccff00] text-[#ccff00]"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg><span>Community Voices</span></div><h2 class="text-3xl md:text-4xl lg:text-5xl font-bold tracking-tight">What Users Say</h2><p class="max-w-[600px] text-gray-500 text-lg">Real feedback from prompt professionals who work with Prompt2Love.</p><div class="flex items-center gap-3 pt-4"><button class="h-2.5 rounded-full transition-all duration-300 cursor-pointer w-10 bg-[#ccff00]" aria-label="Testimonial 1"></button><button class="h-2.5 rounded-full transition-all duration-300 cursor-pointer w-2.5 bg-gray-300" aria-label="Testimonial 2"></button><button class="h-2.5 rounded-full transition-all duration-300 cursor-pointer w-2.5 bg-gray-300" aria-label="Testimonial 3"></button><button class="h-2.5 rounded-full transition-all duration-300 cursor-pointer w-2.5 bg-gray-300" aria-label="Testimonial 4"></button></div></div></div><div class="relative" style="min-height:320px;opacity:0;transform:translateY(20px)"><div class="relative" style="z-index:10;opacity:1;transform:none"><div class="bg-white border border-gray-200 shadow-lg rounded-2xl p-6 md:p-8 flex flex-col"><div class="mb-4 md:mb-6 flex gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star h-4 w-4 md:h-5 md:w-5 fill-[#ccff00] text-[#ccff00]"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star h-4 w-4 md:h-5 md:w-5 fill-[#ccff00] text-[#ccff00]"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star h-4 w-4 md:h-5 md:w-5 fill-[#ccff00] text-[#ccff00]"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star h-4 w-4 md:h-5 md:w-5 fill-[#ccff00] text-[#ccff00]"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star h-4 w-4 md:h-5 md:w-5 fill-[#ccff00] text-[#ccff00]"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg></div><div class="relative mb-4 md:mb-6"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-quote absolute -top-2 -left-2 h-6 w-6 md:h-8 md:w-8 text-gray-200 rotate-180"><path d="M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z"></path><path d="M5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z"></path></svg><p class="relative z-10 text-base md:text-lg font-medium leading-relaxed text-gray-900">“<!-- -->Since using Prompt2Love, I easily save 5 hours per week. My prompts are finally organized and I find everything instantly.<!-- -->”</p></div><div data-orientation="horizontal" role="none" class="shrink-0 bg-border h-[1px] w-full my-3 md:my-4"></div><div class="flex items-center gap-3 md:gap-4"><div class="h-10 w-10 md:h-12 md:w-12 rounded-full bg-gray-900 flex items-center justify-center text-white font-semibold text-xs md:text-sm flex-shrink-0">SK</div><div><h3 class="font-semibold text-gray-900 text-sm md:text-base">Sarah K.</h3><p class="text-xs md:text-sm text-gray-500">Content Strategist, Zurich</p></div></div></div></div><div class="absolute inset-0 pointer-events-none" style="z-index:0;opacity:0;transform:translateX(40px) scale(0.95)"><div class="bg-white border border-gray-200 shadow-lg rounded-2xl p-6 md:p-8 flex flex-col"><div class="mb-4 md:mb-6 flex gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star h-4 w-4 md:h-5 md:w-5 fill-[#ccff00] text-[#ccff00]"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star h-4 w-4 md:h-5 md:w-5 fill-[#ccff00] text-[#ccff00]"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star h-4 w-4 md:h-5 md:w-5 fill-[#ccff00] text-[#ccff00]"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star h-4 w-4 md:h-5 md:w-5 fill-[#ccff00] text-[#ccff00]"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star h-4 w-4 md:h-5 md:w-5 fill-[#ccff00] text-[#ccff00]"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg></div><div class="relative mb-4 md:mb-6"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-quote absolute -top-2 -left-2 h-6 w-6 md:h-8 md:w-8 text-gray-200 rotate-180"><path d="M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z"></path><path d="M5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z"></path></svg><p class="relative z-10 text-base md:text-lg font-medium leading-relaxed text-gray-900">“<!-- -->The community is worth its weight in gold. I found prompts I would never have thought of myself. Everyone is extremely helpful and active.<!-- -->”</p></div><div data-orientation="horizontal" role="none" class="shrink-0 bg-border h-[1px] w-full my-3 md:my-4"></div><div class="flex items-center gap-3 md:gap-4"><div class="h-10 w-10 md:h-12 md:w-12 rounded-full bg-gray-900 flex items-center justify-center text-white font-semibold text-xs md:text-sm flex-shrink-0">MW</div><div><h3 class="font-semibold text-gray-900 text-sm md:text-base">Marc W.</h3><p class="text-xs md:text-sm text-gray-500">AI Engineer, Berlin</p></div></div></div></div><div class="absolute inset-0 pointer-events-none" style="z-index:0;opacity:0;transform:translateX(40px) scale(0.95)"><div class="bg-white border border-gray-200 shadow-lg rounded-2xl p-6 md:p-8 flex flex-col"><div class="mb-4 md:mb-6 flex gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star h-4 w-4 md:h-5 md:w-5 fill-[#ccff00] text-[#ccff00]"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star h-4 w-4 md:h-5 md:w-5 fill-[#ccff00] text-[#ccff00]"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star h-4 w-4 md:h-5 md:w-5 fill-[#ccff00] text-[#ccff00]"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star h-4 w-4 md:h-5 md:w-5 fill-[#ccff00] text-[#ccff00]"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star h-4 w-4 md:h-5 md:w-5 fill-[#ccff00] text-[#ccff00]"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg></div><div class="relative mb-4 md:mb-6"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-quote absolute -top-2 -left-2 h-6 w-6 md:h-8 md:w-8 text-gray-200 rotate-180"><path d="M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z"></path><path d="M5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z"></path></svg><p class="relative z-10 text-base md:text-lg font-medium leading-relaxed text-gray-900">“<!-- -->Finally a platform that takes prompt management seriously. Versioning alone has saved us from several costly mistakes.<!-- -->”</p></div><div data-orientation="horizontal" role="none" class="shrink-0 bg-border h-[1px] w-full my-3 md:my-4"></div><div class="flex items-center gap-3 md:gap-4"><div class="h-10 w-10 md:h-12 md:w-12 rounded-full bg-gray-900 flex items-center justify-center text-white font-semibold text-xs md:text-sm flex-shrink-0">LM</div><div><h3 class="font-semibold text-gray-900 text-sm md:text-base">Lisa M.</h3><p class="text-xs md:text-sm text-gray-500">Marketing Lead, Vienna</p></div></div></div></div><div class="absolute inset-0 pointer-events-none" style="z-index:0;opacity:0;transform:translateX(40px) scale(0.95)"><div class="bg-white border border-gray-200 shadow-lg rounded-2xl p-6 md:p-8 flex flex-col"><div class="mb-4 md:mb-6 flex gap-1"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star h-4 w-4 md:h-5 md:w-5 fill-[#ccff00] text-[#ccff00]"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star h-4 w-4 md:h-5 md:w-5 fill-[#ccff00] text-[#ccff00]"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star h-4 w-4 md:h-5 md:w-5 fill-[#ccff00] text-[#ccff00]"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star h-4 w-4 md:h-5 md:w-5 fill-[#ccff00] text-[#ccff00]"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star h-4 w-4 md:h-5 md:w-5 fill-[#ccff00] text-[#ccff00]"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg></div><div class="relative mb-4 md:mb-6"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-quote absolute -top-2 -left-2 h-6 w-6 md:h-8 md:w-8 text-gray-200 rotate-180"><path d="M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z"></path><path d="M5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z"></path></svg><p class="relative z-10 text-base md:text-lg font-medium leading-relaxed text-gray-900">“<!-- -->Skills are a game-changer. I build workflows with them that automate my work. This quality is not available anywhere else.<!-- -->”</p></div><div data-orientation="horizontal" role="none" class="shrink-0 bg-border h-[1px] w-full my-3 md:my-4"></div><div class="flex items-center gap-3 md:gap-4"><div class="h-10 w-10 md:h-12 md:w-12 rounded-full bg-gray-900 flex items-center justify-center text-white font-semibold text-xs md:text-sm flex-shrink-0">JR</div><div><h3 class="font-semibold text-gray-900 text-sm md:text-base">Jonas R.</h3><p class="text-xs md:text-sm text-gray-500">Freelance Developer, Bern</p></div></div></div></div><div class="absolute -bottom-4 -left-4 h-16 w-16 md:h-20 md:w-20 rounded-xl bg-[#ccff00]/10 hidden md:block"></div><div class="absolute -top-4 -right-4 h-16 w-16 md:h-20 md:w-20 rounded-xl bg-[#ccff00]/10 hidden md:block"></div></div></div></div></section></div><script>$RC("B:2","S:2")</script><div hidden id="S:3"><section class="relative overflow-hidden px-4 py-12 max-w-4xl mx-auto"><div class="relative z-10 flex flex-col items-center justify-center"><span class="mb-8 bg-gradient-to-r from-gray-900 to-gray-500 bg-clip-text font-medium text-transparent">Everything you need to know about Prompt2Love</span><h2 class="mb-8 text-4xl md:text-5xl font-bold tracking-tight text-gray-900">Frequently Asked Questions</h2><span class="absolute -top-[350px] left-[50%] z-0 h-[500px] w-[600px] -translate-x-[50%] rounded-full bg-gradient-to-r from-[#ccff00]/10 to-[#ccff00]/5 blur-3xl"></span></div><div class="relative z-10 flex flex-wrap items-center justify-center gap-3"><button class="relative overflow-hidden whitespace-nowrap rounded-full border px-4 py-2 text-sm font-medium transition-colors duration-200 cursor-pointer border-gray-900 text-white"><span class="relative z-10">General</span><span class="absolute inset-0 z-0 bg-gray-900" style="transform:translateY(100%)"></span></button><button class="relative overflow-hidden whitespace-nowrap rounded-full border px-4 py-2 text-sm font-medium transition-colors duration-200 cursor-pointer border-gray-200 bg-transparent text-gray-500 hover:text-gray-900 hover:border-gray-300"><span class="relative z-10">Features</span></button><button class="relative overflow-hidden whitespace-nowrap rounded-full border px-4 py-2 text-sm font-medium transition-colors duration-200 cursor-pointer border-gray-200 bg-transparent text-gray-500 hover:text-gray-900 hover:border-gray-300"><span class="relative z-10">Pricing &amp; Plans</span></button><button class="relative overflow-hidden whitespace-nowrap rounded-full border px-4 py-2 text-sm font-medium transition-colors duration-200 cursor-pointer border-gray-200 bg-transparent text-gray-500 hover:text-gray-900 hover:border-gray-300"><span class="relative z-10">Security &amp; Data</span></button></div><div class="mx-auto mt-12 max-w-3xl"><div class="space-y-4" style="opacity:0;transform:translateY(10px)"><div class="rounded-2xl border transition-colors bg-white border-gray-100"><button class="flex w-full items-center justify-between gap-4 p-5 text-left cursor-pointer"><span class="text-base md:text-lg font-medium transition-colors text-gray-600">Is Prompt2Love really free?</span><span class="flex-shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-plus h-5 w-5 transition-colors text-gray-400"><path d="M5 12h14"></path><path d="M12 5v14"></path></svg></span></button><div class="overflow-hidden px-5" style="height:0px;margin-bottom:0px"><p class="text-gray-500 leading-relaxed">Yes — the free plan is permanently available, with no time limit...</p></div></div><div class="rounded-2xl border transition-colors bg-white border-gray-100"><button class="flex w-full items-center justify-between gap-4 p-5 text-left cursor-pointer"><span class="text-base md:text-lg font-medium transition-colors text-gray-600">What exactly is a prompt vs. a skill?</span><span class="flex-shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-plus h-5 w-5 transition-colors text-gray-400"><path d="M5 12h14"></path><path d="M12 5v14"></path></svg></span></button><div class="overflow-hidden px-5" style="height:0px;margin-bottom:0px"><p class="text-gray-500 leading-relaxed">A prompt is an instruction for an AI model. A skill is a reusable AI building block...</p></div></div><div class="rounded-2xl border transition-colors bg-white border-gray-100"><button class="flex w-full items-center justify-between gap-4 p-5 text-left cursor-pointer"><span class="text-base md:text-lg font-medium transition-colors text-gray-600">Who is Prompt2Love for?</span><span class="flex-shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-plus h-5 w-5 transition-colors text-gray-400"><path d="M5 12h14"></path><path d="M12 5v14"></path></svg></span></button><div class="overflow-hidden px-5" style="height:0px;margin-bottom:0px"><p class="text-gray-500 leading-relaxed">For everyone who works regularly with AI...</p></div></div></div></div></section></div><script>$RC("B:3","S:3")</script><div hidden id="S:4"><div class="fixed bottom-0 inset-x-0 z-50 print:hidden"><div class="mx-auto max-w-4xl p-4"><div class="rounded-2xl border border-border/50 bg-black/95 backdrop-blur-sm p-5 shadow-2xl"><div class="flex flex-col sm:flex-row items-start sm:items-center gap-4"><div class="flex-1 min-w-0"><p class="text-sm text-gray-200 leading-relaxed">We use cookies to improve your experience. Analytics cookies help us improve Prompt2Love.<!-- --> <a href="/legal/cookies" class="text-primary hover:underline whitespace-nowrap">Settings</a></p></div><div class="flex items-center gap-2 shrink-0"><button class="inline-flex items-center justify-center gap-2 whitespace-nowrap font-medium transition-[transform,box-shadow] duration-150 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 hover-elevate active-elevate-2 border border-transparent min-h-9 md:min-h-8 rounded-md px-3 text-xs text-gray-200 hover:text-white hover:bg-white/10">Settings</button><button class="inline-flex items-center justify-center gap-2 whitespace-nowrap font-medium transition-[transform,box-shadow] duration-150 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 hover-elevate active-elevate-2 border [border-color:var(--button-outline)] shadow-xs active:shadow-none min-h-9 md:min-h-8 rounded-md px-3 text-xs border-gray-600 text-gray-200 hover:bg-white/10 hover:text-white">Necessary only</button><button class="inline-flex items-center justify-center gap-2 whitespace-nowrap transition-[transform,box-shadow] duration-150 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&amp;_svg]:pointer-events-none [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 hover-elevate active-elevate-2 border border-transparent min-h-9 md:min-h-8 rounded-md px-3 text-xs bg-primary text-primary-foreground hover:bg-primary/90 font-semibold">Accept all</button></div></div></div></div></div></div><script>$RC("B:4","S:4")</script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[339756,[\"/_next/static/chunks/163smvmc7sr_h.js\",\"/_next/static/chunks/0l_~lw_0b6.t5.js\"],\"default\"]\n3:I[837457,[\"/_next/static/chunks/163smvmc7sr_h.js\",\"/_next/static/chunks/0l_~lw_0b6.t5.js\"],\"default\"]\n4:I[522016,[\"/_next/static/chunks/163smvmc7sr_h.js\",\"/_next/static/chunks/0l_~lw_0b6.t5.js\",\"/_next/static/chunks/0q94-yexyfyyl.js\",\"/_next/static/chunks/0ttd8pj9zihr8.js\",\"/_next/static/chunks/0umau_hntnvs3.js\",\"/_next/static/chunks/0mr_u-.wkn3tb.js\",\"/_next/static/chunks/04ja2um5j4m5r.js\",\"/_next/static/chunks/094cu51jvkq0y.js\",\"/_next/static/chunks/0ed4.pfky9l4..js\",\"/_next/static/chunks/0g1ud6vrq3hxs.js\"],\"\"]\nb:I[253348,[\"/_next/static/chunks/163smvmc7sr_h.js\",\"/_next/static/chunks/0l_~lw_0b6.t5.js\",\"/_next/static/chunks/0pl~5ozybs3mt.js\",\"/_next/static/chunks/02.tqdjiw02s0.js\"],\"default\"]\n18:I[897367,[\"/_next/static/chunks/163smvmc7sr_h.js\",\"/_next/static/chunks/0l_~lw_0b6.t5.js\"],\"OutletBoundary\"]\n19:\"$Sreact.suspense\"\n1b:I[897367,[\"/_next/static/chunks/163smvmc7sr_h.js\",\"/_next/static/chunks/0l_~lw_0b6.t5.js\"],\"ViewportBoundary\"]\n1d:I[897367,[\"/_next/static/chunks/163smvmc7sr_h.js\",\"/_next/static/chunks/0l_~lw_0b6.t5.js\"],\"MetadataBoundary\"]\n20:I[175696,[\"/_next/static/chunks/163smvmc7sr_h.js\",\"/_next/static/chunks/0l_~lw_0b6.t5.js\",\"/_next/static/chunks/0q94-yexyfyyl.js\",\"/_next/static/chunks/0ttd8pj9zihr8.js\",\"/_next/static/chunks/0umau_hntnvs3.js\",\"/_next/static/chunks/0mr_u-.wkn3tb.js\",\"/_next/static/chunks/04ja2um5j4m5r.js\",\"/_next/static/chunks/094cu51jvkq0y.js\",\"/_next/static/chunks/0ed4.pfky9l4..js\",\"/_next/static/chunks/0g1ud6vrq3hxs.js\"],\"default\"]\n22:I[96923,[\"/_next/static/chunks/163smvmc7sr_h.js\",\"/_next/static/chunks/0l_~lw_0b6.t5.js\",\"/_next/static/chunks/0q94-yexyfyyl.js\",\"/_next/static/chunks/0ttd8pj9zihr8.js\",\"/_next/static/chunks/0umau_hntnvs3.js\",\"/_next/static/chunks/0mr_u-.wkn3tb.js\",\"/_next/static/chunks/04ja2um5j4m5r.js\",\"/_next/static/chunks/094cu51jvkq0y.js\",\"/_next/static/chunks/0ed4.pfky9l4..js\",\"/_next/static/chunks/0g1ud6vrq3hxs.js\"],\"Providers\",1]\n23:I[309974,[\"/_next/static/chunks/163smvmc7sr_h.js\",\"/_next/static/chunks/0l_~lw_0b6.t5.js\",\"/_next/static/chunks/0q94-yexyfyyl.js\",\"/_next/static/chunks/0ttd8pj9zihr8.js\",\"/_next/static/chunks/0umau_hntnvs3.js\",\"/_next/static/chunks/0mr_u-.wkn3tb.js\",\"/_next/static/chunks/04ja2um5j4m5r.js\",\"/_next/static/chunks/094cu51jvkq0y.js\",\"/_next/static/chunks/0ed4.pfky9l4..js\",\"/_next/static/chunks/0g1ud6vrq3hxs.js\",\"/_next/static/chunks/181noede1e-_g.js\",\"/_next/static/chunks/02.tqdjiw02s0.js\"],\"default\"]\n2b:I[933209,[\"/_next/static/chunks/163smvmc7sr_h.js\",\"/_next/static/chunks/0l_~lw_0b6.t5.js\",\"/_next/static/chunks/0q94-yexyfyyl.js\",\"/_next/static/chunks/0ttd8pj9zihr8.js\",\"/_next/static/chunks/0umau_hntnvs3.js\",\"/_next/static/chunks/0mr_u-.wkn3tb.js\",\"/_next/static/chunks/04ja2um5j4m5r.js\",\"/_next/static/chunks/094cu51jvkq0y.js\",\"/_next/static/chunks/0ed4.pfky9l4..js\",\"/_next/static/chunks/0g1ud6vrq3hxs.js\",\"/_next/static/chunks/12rp.m41zpc0g.js\",\"/_next/static/chunks/0wjq5i8s3bfoq.js\",\"/_next/static/chunks/09qzf6a8h0nfa.js\",\"/_next/static/chunks/0a9vgyih3ix5..js\"],\"LandingClient\"]\n4f:I[27201,[\"/_next/static/chunks/163smvmc7sr_h.js\",\"/_next/static/chunks/0l_~lw_0b6.t5.js\"],\"IconMark\"]\n:HL[\"/_next/static/media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/logo-icon.png\",\"image\"]\n:HL[\"/fonts/Satoshi-Regular.woff2\",\"font\",{\"crossOrigin\":\"anonymous\",\"type\":\"font/woff2\"}]\n:HL[\"/fonts/Satoshi-Bold.woff2\",\"font\",{\"crossOrigin\":\"anonymous\",\"type\":\"font/woff2\"}]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[[\"locale\",\"en\",\"d\",null],{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/163smvmc7sr_h.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/0l_~lw_0b6.t5.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"div\",null,{\"className\":\"min-h-screen bg-black text-white overflow-hidden relative flex flex-col\",\"children\":[[\"$\",\"div\",null,{\"className\":\"absolute inset-0 pointer-events-none\",\"children\":[[\"$\",\"div\",null,{\"className\":\"absolute top-1/3 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[600px] h-[600px] rounded-full blur-[120px]\",\"style\":{\"background\":\"radial-gradient(circle, rgba(204,255,0,0.12) 0%, transparent 70%)\"}}],[\"$\",\"div\",null,{\"className\":\"absolute inset-0\",\"style\":{\"backgroundSize\":\"50px 50px\",\"backgroundImage\":\"linear-gradient(to right, rgba(204,255,0,0.03) 1px, transparent 1px), linear-gradient(to bottom, rgba(204,255,0,0.03) 1px, transparent 1px)\",\"maskImage\":\"radial-gradient(ellipse at 50% 40%, black 20%, transparent 70%)\",\"WebkitMaskImage\":\"radial-gradient(ellipse at 50% 40%, black 20%, transparent 70%)\"}}]]}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"\\n @keyframes float-404 {\\n 0%, 100% { transform: translateY(0); }\\n 50% { transform: translateY(-12px); }\\n }\\n @keyframes glitch-1 {\\n 0%, 100% { clip-path: inset(0 0 0 0); transform: translate(0); }\\n 20% { clip-path: inset(20% 0 60% 0); transform: translate(-4px, 2px); }\\n 40% { clip-path: inset(60% 0 10% 0); transform: translate(4px, -2px); }\\n 60% { clip-path: inset(40% 0 30% 0); transform: translate(-2px, 1px); }\\n 80% { clip-path: inset(10% 0 80% 0); transform: translate(3px, -1px); }\\n }\\n @keyframes cursor-blink {\\n 0%, 100% { opacity: 1; }\\n 50% { opacity: 0; }\\n }\\n @keyframes fade-up {\\n from { opacity: 0; transform: translateY(20px); }\\n to { opacity: 1; transform: translateY(0); }\\n }\\n .animate-fade-up {\\n animation: fade-up 0.6s cubic-bezier(0.25,0.4,0.25,1) both;\\n }\\n \"}}],[\"$\",\"header\",null,{\"className\":\"relative z-10 flex items-center justify-between px-6 py-5\",\"children\":[\"$\",\"$L4\",null,{\"href\":\"/\",\"className\":\"flex items-center gap-2 group\",\"children\":[[\"$\",\"img\",null,{\"src\":\"/logo-icon.png\",\"alt\":\"Prompt2Love\",\"className\":\"w-8 h-8 rounded-lg\"}],[\"$\",\"span\",null,{\"className\":\"text-white font-bold text-lg group-hover:text-[#ccff00] transition-colors\",\"children\":\"Prompt2Love\"}]]}]}],[\"$\",\"main\",null,{\"className\":\"relative z-10 flex-1 flex flex-col items-center justify-center px-6 -mt-16\",\"children\":[[\"$\",\"div\",null,{\"className\":\"relative mb-8\",\"style\":{\"animation\":\"float-404 4s ease-in-out infinite\"},\"children\":[[\"$\",\"h1\",null,{\"className\":\"text-[10rem] sm:text-[14rem] md:text-[18rem] font-black tracking-tighter leading-none select-none\",\"style\":{\"background\":\"linear-gradient(180deg, #ccff00 0%, rgba(204,255,0,0.15) 100%)\",\"WebkitBackgroundClip\":\"text\",\"WebkitTextFillColor\":\"transparent\",\"backgroundClip\":\"text\",\"filter\":\"drop-shadow(0 0 60px rgba(204,255,0,0.15))\"},\"children\":\"404\"}],[\"$\",\"h1\",null,{\"className\":\"absolute inset-0 text-[10rem] sm:text-[14rem] md:text-[18rem] font-black tracking-tighter leading-none select-none pointer-events-none\",\"aria-hidden\":\"true\",\"style\":{\"background\":\"linear-gradient(180deg, #ccff00 0%, rgba(204,255,0,0.15) 100%)\",\"WebkitBackgroundClip\":\"text\",\"WebkitTextFillColor\":\"transparent\",\"backgroundClip\":\"text\",\"animation\":\"glitch-1 3s ease-in-out infinite\",\"opacity\":0.3},\"children\":\"404\"}]]}],\"$L5\",\"$L6\"]}],\"$L7\"]}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"$L8\",{\"children\":[\"$L9\",{},null,false,null]},null,false,null]},null,false,null],\"$La\",false]],\"m\":\"$undefined\",\"G\":[\"$b\",[]],\"S\":false,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"RcU_ptSOUiRo78A4-sJum\"}\n"])</script><script>self.__next_f.push([1,"5:[\"$\",\"div\",null,{\"className\":\"animate-fade-up max-w-lg w-full mb-10\",\"style\":{\"animationDelay\":\"0.15s\"},\"children\":[\"$\",\"div\",null,{\"className\":\"rounded-xl bg-white/[0.03] border border-white/10 backdrop-blur-sm overflow-hidden\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center gap-2 px-4 py-2.5 border-b border-white/5\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex gap-1.5\",\"children\":[[\"$\",\"div\",null,{\"className\":\"w-2.5 h-2.5 rounded-full bg-[#ff5f57]\"}],[\"$\",\"div\",null,{\"className\":\"w-2.5 h-2.5 rounded-full bg-[#febc2e]\"}],[\"$\",\"div\",null,{\"className\":\"w-2.5 h-2.5 rounded-full bg-[#28c840]\"}]]}],[\"$\",\"span\",null,{\"className\":\"text-[11px] text-gray-500 font-mono ml-2\",\"children\":\"prompt2love.com\"}]]}],[\"$\",\"div\",null,{\"className\":\"p-5 font-mono text-sm space-y-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"text-gray-500\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-[#ccff00]\",\"children\":\"$$\"}],\" find_page \",[\"$\",\"span\",null,{\"className\":\"text-gray-400\",\"children\":\"--path\"}],\" \",[\"$\",\"span\",null,{\"className\":\"text-white/60\",\"children\":\"\\\"/...\\\"\"}]]}],[\"$\",\"div\",null,{\"className\":\"text-red-400/80\",\"children\":\"Error: Page not found in prompt library\"}],[\"$\",\"div\",null,{\"className\":\"text-gray-500\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-[#ccff00]\",\"children\":\"$$\"}],\" suggest_next_step\"]}],[\"$\",\"div\",null,{\"className\":\"flex items-center gap-1\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-[#ccff00]\",\"children\":\"\u003e\"}],[\"$\",\"span\",null,{\"className\":\"text-white\",\"children\":\"Redirect to something amazing\"}],[\"$\",\"span\",null,{\"className\":\"inline-block w-2 h-4 bg-[#ccff00]\",\"style\":{\"animation\":\"cursor-blink 1s step-end infinite\"}}]]}]]}]]}]}]\n"])</script><script>self.__next_f.push([1,"6:[\"$\",\"div\",null,{\"className\":\"animate-fade-up text-center space-y-6\",\"style\":{\"animationDelay\":\"0.3s\"},\"children\":[[\"$\",\"p\",null,{\"className\":\"text-gray-400 text-base max-w-md mx-auto\",\"children\":\"This page doesn't exist — but there's plenty to discover.\"}],[\"$\",\"div\",null,{\"className\":\"flex flex-col sm:flex-row items-center justify-center gap-3\",\"children\":[[\"$\",\"$L4\",null,{\"href\":\"/\",\"className\":\"group px-8 py-3.5 rounded-full font-semibold text-sm bg-[#ccff00] text-black hover:bg-[#b8e600] transition-all duration-300 shadow-lg shadow-[#ccff00]/20 flex items-center gap-2\",\"children\":[\"Go to Homepage\",[\"$\",\"svg\",null,{\"className\":\"w-4 h-4 group-hover:translate-x-1 transition-transform\",\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2.5\",\"children\":[\"$\",\"path\",null,{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"d\":\"M13 7l5 5m0 0l-5 5m5-5H6\"}]}]]}],[\"$\",\"$L4\",null,{\"href\":\"/community\",\"className\":\"px-8 py-3.5 rounded-full font-medium text-sm text-gray-300 border border-white/10 hover:border-white/25 hover:text-white hover:bg-white/5 transition-all duration-300\",\"children\":\"Explore Community\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-wrap justify-center gap-x-6 gap-y-2 pt-4\",\"children\":[[\"$\",\"$L4\",\"Features\",{\"href\":\"/#features\",\"className\":\"text-xs text-gray-500 hover:text-[#ccff00] transition-colors\",\"children\":\"Features\"}],[\"$\",\"$L4\",\"Pricing\",{\"href\":\"/#pricing\",\"className\":\"text-xs text-gray-500 hover:text-[#ccff00] transition-colors\",\"children\":\"Pricing\"}],[\"$\",\"$L4\",\"About\",{\"href\":\"/about\",\"className\":\"text-xs text-gray-500 hover:text-[#ccff00] transition-colors\",\"children\":\"About\"}],[\"$\",\"$L4\",\"Magazine\",{\"href\":\"/magazin\",\"className\":\"text-xs text-gray-500 hover:text-[#ccff00] transition-colors\",\"children\":\"Magazine\"}]]}]]}]\n"])</script><script>self.__next_f.push([1,"7:[\"$\",\"footer\",null,{\"className\":\"relative z-10 text-center py-6 px-6\",\"children\":[\"$\",\"p\",null,{\"className\":\"text-gray-600 text-xs\",\"children\":\"Prompt2Love — Organize, share \u0026 optimize AI prompts.\"}]}]\nc:T8b8,"])</script><script>self.__next_f.push([1,"@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2)format(\"woff2\");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2)format(\"woff2\");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2)format(\"woff2\");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/5476f68d60460930-s.0wxq9webf.ew4.woff2)format(\"woff2\");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/2bbe8d2671613f1f-s.067x_6k0k23tk.woff2)format(\"woff2\");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/1bffadaabf893a1e-s.16ipb6fqu393i.woff2)format(\"woff2\");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2)format(\"woff2\");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_2fe1ab3d-module__-T-KAq__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_2fe1ab3d-module__-T-KAq__variable{--font-inter:\"Inter\", \"Inter Fallback\"}\n/*# sourceMappingURL=06278bqm5ozw6.css.map*/"])</script><script>self.__next_f.push([1,"d:T2aab4,"])</script><script>self.__next_f.push([1,"@font-face{font-family:Satoshi;src:url(/fonts/Satoshi-Regular.woff2)format(\"woff2\");font-weight:400;font-display:swap;font-style:normal}@font-face{font-family:Satoshi;src:url(/fonts/Satoshi-Medium.woff2)format(\"woff2\");font-weight:500;font-display:swap;font-style:normal}@font-face{font-family:Satoshi;src:url(/fonts/Satoshi-Bold.woff2)format(\"woff2\");font-weight:700;font-display:swap;font-style:normal}*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:\"\"}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--font-sans);font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--font-mono);font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}*{--tw-border-opacity:1;border-color:hsl(var(--border) / var(--tw-border-opacity,1))}body{--tw-bg-opacity:1;background-color:hsl(var(--background) / var(--tw-bg-opacity,1));font-family:var(--font-sans);--tw-text-opacity:1;color:hsl(var(--foreground) / var(--tw-text-opacity,1));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);margin-top:1.2em;margin-bottom:1.2em;font-size:1.25em;line-height:1.6}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);font-weight:500;text-decoration:underline}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:decimal}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=\"1\"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em;list-style-type:disc}.prose :where(ol\u003eli):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-counters);font-weight:400}.prose :where(ul\u003eli):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.25em;font-weight:600}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:\"“\"\"”\"\"‘\"\"’\";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em;font-style:italic;font-weight:500}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:0;margin-bottom:.888889em;font-size:2.25em;font-weight:800;line-height:1.11111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:900}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:2em;margin-bottom:1em;font-size:1.5em;font-weight:700;line-height:1.33333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:800}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.6em;margin-bottom:.6em;font-size:1.25em;font-weight:600;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-weight:700}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em;display:block}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-kbd);box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows) / 10%), 0 3px 0 rgb(var(--tw-prose-kbd-shadows) / 10%);padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;border-radius:.3125rem;padding-inline-start:.375em;font-family:inherit;font-size:.875em;font-weight:500}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-size:.875em;font-weight:600}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:\""}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);padding-top:.857143em;padding-inline-end:1.14286em;padding-bottom:.857143em;border-radius:.375rem;margin-top:1.71429em;margin-bottom:1.71429em;padding-inline-start:1.14286em;font-size:.875em;font-weight:400;line-height:1.71429;overflow-x:auto}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;background-color:#0000;border-width:0;border-radius:0;padding:0}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before,.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){table-layout:auto;width:100%;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.71429}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);vertical-align:bottom;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em;font-weight:600}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] )){text-align:start}.prose :where(figure\u003e):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);margin-top:.857143em;font-size:.875em;line-height:1.42857}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:17 24 39;--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:255 255 255;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:#00000080;--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(picture\u003eimg):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol\u003eli):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(ul\u003eli):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose\u003eul\u003eli p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose\u003eul\u003eli\u003ep:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose\u003eul\u003eli\u003ep:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose\u003eol\u003eli\u003ep:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose\u003eol\u003eli\u003ep:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] )){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+):not(:where([class~=not-prose],[class~=not-prose] )),.prose :where(h2+):not(:where([class~=not-prose],[class~=not-prose] )),.prose :where(h3+):not(:where([class~=not-prose],[class~=not-prose] )),.prose :where(h4+):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.571429em;padding-inline-end:.571429em;padding-bottom:.571429em;padding-inline-start:.571429em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose\u003e:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose\u003e:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-sm{font-size:.875rem;line-height:1.71429}.prose-sm :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.prose-sm :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.888889em;margin-bottom:.888889em;font-size:1.28571em;line-height:1.55556}.prose-sm :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.33333em;margin-bottom:1.33333em;padding-inline-start:1.11111em}.prose-sm :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:.8em;font-size:2.14286em;line-height:1.2}.prose-sm :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.6em;margin-bottom:.8em;font-size:1.42857em;line-height:1.4}.prose-sm :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.55556em;margin-bottom:.444444em;font-size:1.28571em;line-height:1.55556}.prose-sm :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.42857em;margin-bottom:.571429em;line-height:1.42857}.prose-sm :where(img):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(picture\u003eimg):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.142857em;padding-inline-end:.357143em;padding-bottom:.142857em;border-radius:.3125rem;padding-inline-start:.357143em;font-size:.857143em}.prose-sm :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em}.prose-sm :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.prose-sm :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.888889em}.prose-sm :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;border-radius:.25rem;margin-top:1.66667em;margin-bottom:1.66667em;padding-inline-start:1em;font-size:.857143em;line-height:1.66667}.prose-sm :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em;padding-inline-start:1.57143em}.prose-sm :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;margin-bottom:.285714em}.prose-sm :where(ol\u003eli):not(:where([class~=not-prose],[class~=not-prose] *)),.prose-sm :where(ul\u003eli):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.428571em}.prose-sm :where(.prose-sm\u003eul\u003eli p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.prose-sm :where(.prose-sm\u003eul\u003eli\u003ep:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(.prose-sm\u003eul\u003eli\u003ep:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.prose-sm :where(.prose-sm\u003eol\u003eli\u003ep:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(.prose-sm\u003eol\u003eli\u003ep:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.14286em}.prose-sm :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.571429em;margin-bottom:.571429em}.prose-sm :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em;margin-bottom:1.14286em}.prose-sm :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.14286em}.prose-sm :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.285714em;padding-inline-start:1.57143em}.prose-sm :where(hr):not(:where([class~=not-prose],[class~=not-prose] )){margin-top:2.85714em;margin-bottom:2.85714em}.prose-sm :where(hr+):not(:where([class~=not-prose],[class~=not-prose] )),.prose-sm :where(h2+):not(:where([class~=not-prose],[class~=not-prose] )),.prose-sm :where(h3+):not(:where([class~=not-prose],[class~=not-prose] )),.prose-sm :where(h4+):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.857143em;line-height:1.5}.prose-sm :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.prose-sm :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.666667em;padding-inline-end:1em;padding-bottom:.666667em;padding-inline-start:1em}.prose-sm :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(figure):not(:where([class~=not-prose],[class~=not-prose] )){margin-top:1.71429em;margin-bottom:1.71429em}.prose-sm :where(figure\u003e):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] )){margin-top:.666667em;font-size:.857143em;line-height:1.33333}.prose-sm :where(.prose-sm\u003e:first-child):not(:where([class~=not-prose],[class~=not-prose] )){margin-top:0}.prose-sm :where(.prose-sm\u003e:last-child):not(:where([class~=not-prose],[class~=not-prose] )){margin-bottom:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.-inset-1{inset:-.25rem}.-inset-4{inset:-1rem}.-inset-6{inset:-1.5rem}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.-bottom-0\.5{bottom:-.125rem}.-bottom-2{bottom:-.5rem}.-bottom-4{bottom:-1rem}.-left-2{left:-.5rem}.-left-4{left:-1rem}.-right-0\.5{right:-.125rem}.-right-1\.5{right:-.375rem}.-right-2{right:-.5rem}.-right-4{right:-1rem}.-top-1\.5{top:-.375rem}.-top-2{top:-.5rem}.-top-2\.5{top:-.625rem}.-top-3{top:-.75rem}.-top-4{top:-1rem}.-top-8{top:-2rem}.-top-9{top:-2.25rem}.-top-\[350px\]{top:-350px}.bottom-0{bottom:0}.bottom-1{bottom:.25rem}.bottom-1\.5{bottom:.375rem}.bottom-1\/4{bottom:25%}.bottom-2{bottom:.5rem}.bottom-28{bottom:7rem}.bottom-3{bottom:.75rem}.bottom-4{bottom:1rem}.bottom-40{bottom:10rem}.bottom-6{bottom:1.5rem}.left-0{left:0}.left-1\/2{left:50%}.left-1\/3{left:33.3333%}.left-1\/4{left:25%}.left-16{left:4rem}.left-2{left:.5rem}.left-24{left:6rem}.left-3{left:.75rem}.left-4{left:1rem}.left-8{left:2rem}.left-\[50\%\]{left:50%}.left-\[calc\(50\%\+var\(--sidebar-width\)\/2\)\]{left:calc(50% + var(--sidebar-width) / 2)}.right-0{right:0}.right-1{right:.25rem}.right-1\.5{right:.375rem}.right-1\/3{right:33.3333%}.right-1\/4{right:25%}.right-12{right:3rem}.right-14{right:3.5rem}.right-2{right:.5rem}.right-2\.5{right:.625rem}.right-20{right:5rem}.right-3{right:.75rem}.right-4{right:1rem}.right-6{right:1.5rem}.top-0{top:0}.top-1{top:.25rem}.top-1\.5{top:.375rem}.top-1\/2{top:50%}.top-1\/3{top:33.3333%}.top-1\/4{top:25%}.top-12{top:3rem}.top-16{top:4rem}.top-2{top:.5rem}.top-2\.5{top:.625rem}.top-20{top:5rem}.top-24{top:6rem}.top-3{top:.75rem}.top-3\.5{top:.875rem}.top-36{top:9rem}.top-4{top:1rem}.top-8{top:2rem}.top-\[50\%\]{top:50%}.top-full{top:100%}.-z-10{z-index:-10}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[10000\]{z-index:10000}.z-\[10001\]{z-index:10001}.z-\[10010\]{z-index:10010}.z-\[100\]{z-index:100}.z-\[9000\]{z-index:9000}.z-\[9999\]{z-index:9999}.order-1{order:1}.order-2{order:2}.order-3{order:3}.col-span-2{grid-column:span 2/span 2}.col-span-full{grid-column:1/-1}.m-0{margin:0}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-1\.5{margin-left:.375rem;margin-right:.375rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-3\.5{margin-left:.875rem;margin-right:.875rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-10{margin-top:2.5rem;margin-bottom:2.5rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.my-4{margin-top:1rem;margin-bottom:1rem}.my-5{margin-top:1.25rem;margin-bottom:1.25rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.my-8{margin-top:2rem;margin-bottom:2rem}.-mb-0\.5{margin-bottom:-.125rem}.-ml-1{margin-left:-.25rem}.-ml-2{margin-left:-.5rem}.-mr-1\.5{margin-right:-.375rem}.-mt-0\.5{margin-top:-.125rem}.-mt-16{margin-top:-4rem}.-mt-3{margin-top:-.75rem}.mb-0{margin-bottom:0}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-14{margin-bottom:3.5rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-1\.5{margin-left:.375rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-5{margin-left:1.25rem}.ml-6{margin-left:1.5rem}.ml-\[1\.35rem\]{margin-left:1.35rem}.ml-auto{margin-left:auto}.mr-0\.5{margin-right:.125rem}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mr-2{margin-right:.5rem}.mr-4{margin-right:1rem}.mr-auto{margin-right:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-2\.5{margin-top:.625rem}.mt-20{margin-top:5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-4{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\!block{display:block!important}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-\[16\/9\]{aspect-ratio:16/9}.aspect-\[3\/4\]{aspect-ratio:3/4}.aspect-square{aspect-ratio:1}.aspect-video{aspect-ratio:16/9}.size-4{width:1rem;height:1rem}.h-0\.5{height:.125rem}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-36{height:9rem}.h-4{height:1rem}.h-40{height:10rem}.h-44{height:11rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-60{height:15rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-96{height:24rem}.h-\[100dvh\]{height:100dvh}.h-\[150px\]{height:150px}.h-\[18px\]{height:18px}.h-\[1px\]{height:1px}.h-\[220px\]{height:220px}.h-\[240px\]{height:240px}.h-\[260px\]{height:260px}.h-\[300px\]{height:300px}.h-\[350px\]{height:350px}.h-\[400px\]{height:400px}.h-\[40vh\]{height:40vh}.h-\[420px\]{height:420px}.h-\[44px\]{height:44px}.h-\[500px\]{height:500px}.h-\[50vh\]{height:50vh}.h-\[50vw\]{height:50vw}.h-\[600px\]{height:600px}.h-\[60px\]{height:60px}.h-\[60vh\]{height:60vh}.h-\[calc\(100vh-3\.5rem\)\]{height:calc(100vh - 3.5rem)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.h-svh{height:100svh}.max-h-32{max-height:8rem}.max-h-48{max-height:12rem}.max-h-60{max-height:15rem}.max-h-64{max-height:16rem}.max-h-72{max-height:18rem}.max-h-\[--radix-select-content-available-height\]{max-height:var(--radix-select-content-available-height)}.max-h-\[120px\]{max-height:120px}.max-h-\[160px\]{max-height:160px}.max-h-\[200px\]{max-height:200px}.max-h-\[240px\]{max-height:240px}.max-h-\[280px\]{max-height:280px}.max-h-\[300px\]{max-height:300px}.max-h-\[350px\]{max-height:350px}.max-h-\[35vh\]{max-height:35vh}.max-h-\[400px\]{max-height:400px}.max-h-\[40vh\]{max-height:40vh}.max-h-\[500px\]{max-height:500px}.max-h-\[50vh\]{max-height:50vh}.max-h-\[560px\]{max-height:560px}.max-h-\[60vh\]{max-height:60vh}.max-h-\[70vh\]{max-height:70vh}.max-h-\[78vh\]{max-height:78vh}.max-h-\[80vh\]{max-height:80vh}.max-h-\[82vh\]{max-height:82vh}.max-h-\[85vh\]{max-height:85vh}.max-h-\[90vh\]{max-height:90vh}.max-h-\[92vh\]{max-height:92vh}.max-h-\[calc\(100dvh-2rem\)\]{max-height:calc(100dvh - 2rem)}.max-h-\[calc\(100dvh-4rem\)\]{max-height:calc(100dvh - 4rem)}.max-h-\[var\(--radix-dropdown-menu-content-available-height\)\]{max-height:var(--radix-dropdown-menu-content-available-height)}.max-h-full{max-height:100%}.max-h-screen{max-height:100vh}.min-h-0{min-height:0}.min-h-11{min-height:2.75rem}.min-h-12{min-height:3rem}.min-h-16{min-height:4rem}.min-h-20{min-height:5rem}.min-h-40{min-height:10rem}.min-h-9{min-height:2.25rem}.min-h-\[100px\]{min-height:100px}.min-h-\[120px\]{min-height:120px}.min-h-\[200px\]{min-height:200px}.min-h-\[2rem\]{min-height:2rem}.min-h-\[32px\]{min-height:32px}.min-h-\[360px\]{min-height:360px}.min-h-\[36px\]{min-height:36px}.min-h-\[400px\]{min-height:400px}.min-h-\[40px\]{min-height:40px}.min-h-\[44px\]{min-height:44px}.min-h-\[48px\]{min-height:48px}.min-h-\[60px\]{min-height:60px}.min-h-\[60vh\]{min-height:60vh}.min-h-\[80px\]{min-height:80px}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.min-h-svh{min-height:100svh}.w-0\.5{width:.125rem}.w-1\.5{width:.375rem}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-2\/3{width:66.6667%}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-4\/5{width:80%}.w-40{width:10rem}.w-44{width:11rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[110px\]{width:110px}.w-\[120px\]{width:120px}.w-\[130px\]{width:130px}.w-\[140px\]{width:140px}.w-\[150px\]{width:150px}.w-\[160px\]{width:160px}.w-\[180px\]{width:180px}.w-\[1px\]{width:1px}.w-\[220px\]{width:220px}.w-\[2px\]{width:2px}.w-\[300px\]{width:300px}.w-\[400px\]{width:400px}.w-\[420px\]{width:420px}.w-\[440px\]{width:440px}.w-\[44px\]{width:44px}.w-\[480px\]{width:480px}.w-\[500px\]{width:500px}.w-\[600px\]{width:600px}.w-\[60px\]{width:60px}.w-\[60vw\]{width:60vw}.w-\[80px\]{width:80px}.w-\[80vw\]{width:80vw}.w-\[820px\]{width:820px}.w-\[calc\(100\%-2rem\)\]{width:calc(100% - 2rem)}.w-\[calc\(100vw-1rem\)\]{width:calc(100vw - 1rem)}.w-\[min\(16rem\,calc\(100vw-2rem\)\)\]{width:min(16rem,100vw - 2rem)}.w-\[min\(18rem\,calc\(100vw-2rem\)\)\]{width:min(18rem,100vw - 2rem)}.w-\[min\(20rem\,calc\(100vw-2rem\)\)\]{width:min(20rem,100vw - 2rem)}.w-\[var\(--sidebar-width\)\]{width:var(--sidebar-width)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.w-screen{width:100vw}.min-w-0{min-width:0}.min-w-5{min-width:1.25rem}.min-w-\[14px\]{min-width:14px}.min-w-\[160px\]{min-width:160px}.min-w-\[16px\]{min-width:16px}.min-w-\[180px\]{min-width:180px}.min-w-\[18px\]{min-width:18px}.min-w-\[200px\]{min-width:200px}.min-w-\[20px\]{min-width:20px}.min-w-\[32px\]{min-width:32px}.min-w-\[36px\]{min-width:36px}.min-w-\[40px\]{min-width:40px}.min-w-\[44px\]{min-width:44px}.min-w-\[48px\]{min-width:48px}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-32{max-width:8rem}.max-w-3xl{max-width:48rem}.max-w-48{max-width:12rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-\[120px\]{max-width:120px}.max-w-\[140px\]{max-width:140px}.max-w-\[150px\]{max-width:150px}.max-w-\[160px\]{max-width:160px}.max-w-\[180px\]{max-width:180px}.max-w-\[200px\]{max-width:200px}.max-w-\[220px\]{max-width:220px}.max-w-\[240px\]{max-width:240px}.max-w-\[280px\]{max-width:280px}.max-w-\[300px\]{max-width:300px}.max-w-\[480px\]{max-width:480px}.max-w-\[600px\]{max-width:600px}.max-w-\[720px\]{max-width:720px}.max-w-\[75\%\]{max-width:75%}.max-w-\[85\%\]{max-width:85%}.max-w-\[88vw\]{max-width:88vw}.max-w-\[90vw\]{max-width:90vw}.max-w-\[95vw\]{max-width:95vw}.max-w-\[96vw\]{max-width:96vw}.max-w-\[calc\(100vw-2rem\)\]{max-width:calc(100vw - 2rem)}.max-w-\[var\(--skeleton-width\)\]{max-width:var(--skeleton-width)}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.grow{flex-grow:1}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.origin-\[--radix-dropdown-menu-content-transform-origin\]{transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.origin-\[--radix-popover-content-transform-origin\]{transform-origin:var(--radix-popover-content-transform-origin)}.origin-\[--radix-select-content-transform-origin\]{transform-origin:var(--radix-select-content-transform-origin)}.origin-\[--radix-tooltip-content-transform-origin\]{transform-origin:var(--radix-tooltip-content-transform-origin)}.-translate-x-1\/2,.-translate-x-\[50\%\]{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-px{--tw-translate-x:-1px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-20{--tw-translate-y:-5rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y:-100%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[-50\%\]{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-px{--tw-translate-x:1px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-4{--tw-translate-y:1rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[15\%\]{--tw-translate-y:15%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-2{--tw-rotate:-2deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate:90deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-skew-x-12{--tw-skew-x:-12deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}.animate-\[bounce_2s_infinite\]{animation:2s infinite bounce}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.animate-\[fade-in_0\.2s_ease-out\]{animation:.2s ease-out fade-in}.animate-\[scale-in_0\.3s_ease-out\]{animation:.3s ease-out scale-in}.animate-\[slide-up_0\.3s_ease-out\]{animation:.3s ease-out slide-up}.animate-bounce{animation:1s infinite bounce}.animate-fade-in{animation:.3s cubic-bezier(.23,1,.32,1) forwards fade-in}@keyframes node-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.animate-node-in{animation:.25s cubic-bezier(.34,1.56,.64,1) forwards node-in}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}.animate-ping{animation:1s cubic-bezier(0,0,.2,1) infinite ping}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}@keyframes slide-in-down{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.animate-slide-in-down{animation:.4s cubic-bezier(.23,1,.32,1) forwards slide-in-down}@keyframes slide-in-left{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.animate-slide-in-left{animation:.25s cubic-bezier(.23,1,.32,1) forwards slide-in-left}@keyframes slide-in-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-slide-in-up{animation:.25s cubic-bezier(.23,1,.32,1) .15s forwards slide-in-up}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;user-select:none}.resize-none{resize:none}.resize-y{resize:vertical}.resize{resize:both}.scroll-mt-20{scroll-margin-top:5rem}.scroll-mt-24{scroll-margin-top:6rem}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.columns-2{columns:2}.auto-rows-\[minmax\(160px\,auto\)\]{grid-auto-rows:minmax(160px,auto)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-\[120px_1fr\]{grid-template-columns:120px 1fr}.grid-cols-\[1fr_80px_80px_80px\]{grid-template-columns:1fr 80px 80px 80px}.grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.grid-rows-\[1fr_auto\]{grid-template-rows:1fr auto}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-0{gap:0}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.gap-14{gap:3.5rem}.gap-16{gap:4rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-3{column-gap:.75rem}.gap-x-4{column-gap:1rem}.gap-x-5{column-gap:1.25rem}.gap-x-6{column-gap:1.5rem}.gap-x-8{column-gap:2rem}.gap-y-1{row-gap:.25rem}.gap-y-10{row-gap:2.5rem}.gap-y-2{row-gap:.5rem}.space-x-12\u003e:not([hidden]):not([hidden]){--tw-space-x-reverse:0;margin-right:calc(3rem * var(--tw-space-x-reverse));margin-left:calc(3rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4\u003e:not([hidden]):not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-0\u003e:not([hidden]):not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.space-y-0\.5\u003e:not([hidden]):not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1\u003e:not([hidden]):not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5\u003e:not([hidden]):not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-12\u003e:not([hidden]):not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem * var(--tw-space-y-reverse))}.space-y-2\u003e:not([hidden]):not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-2\.5\u003e:not([hidden]):not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem * var(--tw-space-y-reverse))}.space-y-3\u003e:not([hidden]):not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4\u003e:not([hidden]):not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5\u003e:not([hidden]):not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6\u003e:not([hidden]):not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8\u003e:not([hidden]):not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.divide-y\u003e:not([hidden]):not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-border\/50\u003e:not([hidden]):not([hidden]){border-color:hsl(var(--border) / .5)}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-\[50\%\]{border-radius:50%}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5625rem}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.rounded-sm{border-radius:.1875rem}.rounded-xl{border-radius:.75rem}.rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.rounded-t-md{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.rounded-bl-md{border-bottom-left-radius:.375rem}.rounded-br-md{border-bottom-right-radius:.375rem}.rounded-tl-3xl{border-top-left-radius:1.5rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-4{border-width:4px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-t-2{border-top-width:2px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-\[\#28c840\]\/25{border-color:#28c84040}.border-\[\#c8ff00\]\/20{border-color:#c8ff0033}.border-\[\#c8ff00\]\/30{border-color:#c8ff004d}.border-\[\#c8ff00\]\/50{border-color:#c8ff0080}.border-\[\#ccff00\]{--tw-border-opacity:1;border-color:rgb(204 255 0/var(--tw-border-opacity,1))}.border-\[\#ccff00\]\/20{border-color:#cf03}.border-\[\#ccff00\]\/25{border-color:#ccff0040}.border-\[\#ccff00\]\/30{border-color:#ccff004d}.border-\[\#ccff00\]\/40{border-color:#cf06}.border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.border-amber-500\/20{border-color:#f59e0b33}.border-amber-500\/30{border-color:#f59e0b4d}.border-amber-500\/40{border-color:#f59e0b66}.border-background{--tw-border-opacity:1;border-color:hsl(var(--background) / var(--tw-border-opacity,1))}.border-black{--tw-border-opacity:1;border-color:rgb(0 0 0/var(--tw-border-opacity,1))}.border-black\/80{border-color:#000c}.border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.border-blue-400\/40{border-color:#60a5fa66}.border-blue-500\/20{border-color:#3b82f633}.border-blue-500\/25{border-color:#3b82f640}.border-blue-500\/30{border-color:#3b82f64d}.border-border{--tw-border-opacity:1;border-color:hsl(var(--border) / var(--tw-border-opacity,1))}.border-border\/30{border-color:hsl(var(--border) / .3)}.border-border\/40{border-color:hsl(var(--border) / .4)}.border-border\/50{border-color:hsl(var(--border) / .5)}.border-border\/60{border-color:hsl(var(--border) / .6)}.border-card-border{--tw-border-opacity:1;border-color:hsl(var(--card-border) / var(--tw-border-opacity,1))}.border-cyan-500\/20{border-color:#06b6d433}.border-cyan-500\/30{border-color:#06b6d44d}.border-destructive{--tw-border-opacity:1;border-color:hsl(var(--destructive) / var(--tw-border-opacity,1))}.border-destructive-border{border-color:var(--destructive-border)}.border-destructive\/20{border-color:hsl(var(--destructive) / .2)}.border-destructive\/30{border-color:hsl(var(--destructive) / .3)}.border-emerald-500\/20{border-color:#10b98133}.border-emerald-500\/25{border-color:#10b98140}.border-emerald-500\/30{border-color:#10b9814d}.border-emerald-500\/40{border-color:#10b98166}.border-foreground{--tw-border-opacity:1;border-color:hsl(var(--foreground) / var(--tw-border-opacity,1))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-200\/50{border-color:#e5e7eb80}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-gray-500\/30{border-color:#6b72804d}.border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.border-gray-800{--tw-border-opacity:1;border-color:rgb(31 41 55/var(--tw-border-opacity,1))}.border-gray-800\/30{border-color:#1f29374d}.border-gray-800\/40{border-color:#1f293766}.border-gray-800\/50{border-color:#1f293780}.border-gray-800\/60{border-color:#1f293799}.border-gray-900{--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity,1))}.border-green-500\/10{border-color:#22c55e1a}.border-green-500\/20{border-color:#22c55e33}.border-green-500\/30{border-color:#22c55e4d}.border-indigo-200{--tw-border-opacity:1;border-color:rgb(199 210 254/var(--tw-border-opacity,1))}.border-input{--tw-border-opacity:1;border-color:hsl(var(--input) / var(--tw-border-opacity,1))}.border-muted-foreground{--tw-border-opacity:1;border-color:hsl(var(--muted-foreground) / var(--tw-border-opacity,1))}.border-muted-foreground\/20{border-color:hsl(var(--muted-foreground) / .2)}.border-muted-foreground\/25{border-color:hsl(var(--muted-foreground) / .25)}.border-muted-foreground\/30{border-color:hsl(var(--muted-foreground) / .3)}.border-orange-400\/50{border-color:#fb923c80}.border-orange-500\/20{border-color:#f9731633}.border-orange-500\/25{border-color:#f9731640}.border-orange-500\/30{border-color:#f973164d}.border-pink-500\/30{border-color:#ec48994d}.border-primary{--tw-border-opacity:1;border-color:hsl(var(--primary) / var(--tw-border-opacity,1))}.border-primary-foreground\/30{border-color:hsl(var(--primary-foreground) / .3)}.border-primary\/10{border-color:hsl(var(--primary) / .1)}.border-primary\/15{border-color:hsl(var(--primary) / .15)}.border-primary\/20{border-color:hsl(var(--primary) / .2)}.border-primary\/25{border-color:hsl(var(--primary) / .25)}.border-primary\/30{border-color:hsl(var(--primary) / .3)}.border-primary\/40{border-color:hsl(var(--primary) / .4)}.border-primary\/50{border-color:hsl(var(--primary) / .5)}.border-primary\/60{border-color:hsl(var(--primary) / .6)}.border-purple-500\/20{border-color:#a855f733}.border-purple-500\/25{border-color:#a855f740}.border-purple-500\/30{border-color:#a855f74d}.border-purple-500\/50{border-color:#a855f780}.border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-red-500\/10{border-color:#ef44441a}.border-red-500\/20{border-color:#ef444433}.border-red-500\/25{border-color:#ef444440}.border-red-500\/30{border-color:#ef44444d}.border-red-500\/50{border-color:#ef444480}.border-secondary-border{border-color:var(--secondary-border)}.border-sidebar-border{--tw-border-opacity:1;border-color:hsl(var(--sidebar-border) / var(--tw-border-opacity,1))}.border-sidebar-border\/50{border-color:hsl(var(--sidebar-border) / .5)}.border-sky-500\/20{border-color:#0ea5e933}.border-slate-500\/20{border-color:#64748b33}.border-transparent{border-color:#0000}.border-violet-500\/20{border-color:#8b5cf633}.border-violet-500\/30{border-color:#8b5cf64d}.border-white\/10{border-color:#ffffff1a}.border-white\/15{border-color:#ffffff26}.border-white\/20{border-color:#fff3}.border-white\/5{border-color:#ffffff0d}.border-yellow-200{--tw-border-opacity:1;border-color:rgb(254 240 138/var(--tw-border-opacity,1))}.border-yellow-500\/20{border-color:#eab30833}.border-yellow-500\/25{border-color:#eab30840}.border-yellow-500\/30{border-color:#eab3084d}.border-zinc-500\/20{border-color:#71717a33}.border-zinc-500\/30{border-color:#71717a4d}.border-zinc-700{--tw-border-opacity:1;border-color:rgb(63 63 70/var(--tw-border-opacity,1))}.border-zinc-800{--tw-border-opacity:1;border-color:rgb(39 39 42/var(--tw-border-opacity,1))}.border-l-primary{--tw-border-opacity:1;border-left-color:hsl(var(--primary) / var(--tw-border-opacity,1))}.border-l-transparent{border-left-color:#0000}.border-t-blue-500{--tw-border-opacity:1;border-top-color:rgb(59 130 246/var(--tw-border-opacity,1))}.border-t-emerald-500{--tw-border-opacity:1;border-top-color:rgb(16 185 129/var(--tw-border-opacity,1))}.border-t-primary{--tw-border-opacity:1;border-top-color:hsl(var(--primary) / var(--tw-border-opacity,1))}.border-t-purple-500{--tw-border-opacity:1;border-top-color:rgb(168 85 247/var(--tw-border-opacity,1))}.border-t-red-500{--tw-border-opacity:1;border-top-color:rgb(239 68 68/var(--tw-border-opacity,1))}.border-t-transparent{border-top-color:#0000}.border-t-yellow-500{--tw-border-opacity:1;border-top-color:rgb(234 179 8/var(--tw-border-opacity,1))}.\!bg-\[\#ccff00\]{--tw-bg-opacity:1!important;background-color:rgb(204 255 0/var(--tw-bg-opacity,1))!important}.\!bg-background{--tw-bg-opacity:1!important;background-color:hsl(var(--background) / var(--tw-bg-opacity,1))!important}.\!bg-blue-400{--tw-bg-opacity:1!important;background-color:rgb(96 165 250/var(--tw-bg-opacity,1))!important}.\!bg-primary-foreground{--tw-bg-opacity:1!important;background-color:hsl(var(--primary-foreground) / var(--tw-bg-opacity,1))!important}.\!bg-yellow-400{--tw-bg-opacity:1!important;background-color:rgb(250 204 21/var(--tw-bg-opacity,1))!important}.bg-\[\#0a0a0a\]{--tw-bg-opacity:1;background-color:rgb(10 10 10/var(--tw-bg-opacity,1))}.bg-\[\#0c0c14\]{--tw-bg-opacity:1;background-color:rgb(12 12 20/var(--tw-bg-opacity,1))}.bg-\[\#111\]{--tw-bg-opacity:1;background-color:rgb(17 17 17/var(--tw-bg-opacity,1))}.bg-\[\#151515\]{--tw-bg-opacity:1;background-color:rgb(21 21 21/var(--tw-bg-opacity,1))}.bg-\[\#1a1a1a\]{--tw-bg-opacity:1;background-color:rgb(26 26 26/var(--tw-bg-opacity,1))}.bg-\[\#1a1a1d\]{--tw-bg-opacity:1;background-color:rgb(26 26 29/var(--tw-bg-opacity,1))}.bg-\[\#1c1c1c\]{--tw-bg-opacity:1;background-color:rgb(28 28 28/var(--tw-bg-opacity,1))}.bg-\[\#1f1f1f\]{--tw-bg-opacity:1;background-color:rgb(31 31 31/var(--tw-bg-opacity,1))}.bg-\[\#222\]{--tw-bg-opacity:1;background-color:rgb(34 34 34/var(--tw-bg-opacity,1))}.bg-\[\#28c840\]{--tw-bg-opacity:1;background-color:rgb(40 200 64/var(--tw-bg-opacity,1))}.bg-\[\#28c840\]\/15{background-color:#28c84026}.bg-\[\#a855f7\]{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.bg-\[\#c6f24e\]{--tw-bg-opacity:1;background-color:rgb(198 242 78/var(--tw-bg-opacity,1))}.bg-\[\#c8ff00\]{--tw-bg-opacity:1;background-color:rgb(200 255 0/var(--tw-bg-opacity,1))}.bg-\[\#c8ff00\]\/10{background-color:#c8ff001a}.bg-\[\#c8ff00\]\/5{background-color:#c8ff000d}.bg-\[\#c8ff00\]\/\[0\.02\]{background-color:#c8ff0005}.bg-\[\#ccff00\]{--tw-bg-opacity:1;background-color:rgb(204 255 0/var(--tw-bg-opacity,1))}.bg-\[\#ccff00\]\/10{background-color:#ccff001a}.bg-\[\#ccff00\]\/15{background-color:#ccff0026}.bg-\[\#ccff00\]\/20{background-color:#cf03}.bg-\[\#ccff00\]\/30{background-color:#ccff004d}.bg-\[\#ccff00\]\/5{background-color:#ccff000d}.bg-\[\#ccff00\]\/\[0\.015\]{background-color:#ccff0004}.bg-\[\#ccff00\]\/\[0\.02\]{background-color:#ccff0005}.bg-\[\#ccff00\]\/\[0\.03\]{background-color:#ccff0008}.bg-\[\#ccff00\]\/\[0\.04\]{background-color:#ccff000a}.bg-\[\#ccff00\]\/\[0\.05\]{background-color:#ccff000d}.bg-\[\#ccff00\]\/\[0\.10\]{background-color:#ccff001a}.bg-\[\#f97316\]{--tw-bg-opacity:1;background-color:rgb(249 115 22/var(--tw-bg-opacity,1))}.bg-\[\#febc2e\]{--tw-bg-opacity:1;background-color:rgb(254 188 46/var(--tw-bg-opacity,1))}.bg-\[\#ff5f57\]{--tw-bg-opacity:1;background-color:rgb(255 95 87/var(--tw-bg-opacity,1))}.bg-accent{--tw-bg-opacity:1;background-color:hsl(var(--accent) / var(--tw-bg-opacity,1))}.bg-accent\/50{background-color:hsl(var(--accent) / .5)}.bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.bg-amber-500\/10{background-color:#f59e0b1a}.bg-amber-500\/15{background-color:#f59e0b26}.bg-amber-500\/70{background-color:#f59e0bb3}.bg-background{--tw-bg-opacity:1;background-color:hsl(var(--background) / var(--tw-bg-opacity,1))}.bg-background\/50{background-color:hsl(var(--background) / .5)}.bg-background\/70{background-color:hsl(var(--background) / .7)}.bg-background\/80{background-color:hsl(var(--background) / .8)}.bg-background\/90{background-color:hsl(var(--background) / .9)}.bg-background\/95{background-color:hsl(var(--background) / .95)}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\/10{background-color:#0000001a}.bg-black\/15{background-color:#00000026}.bg-black\/20{background-color:#0003}.bg-black\/30{background-color:#0000004d}.bg-black\/40{background-color:#0006}.bg-black\/50{background-color:#00000080}.bg-black\/55{background-color:#0000008c}.bg-black\/60{background-color:#0009}.bg-black\/65{background-color:#000000a6}.bg-black\/70{background-color:#000000b3}.bg-black\/80{background-color:#000c}.bg-black\/90{background-color:#000000e6}.bg-black\/95{background-color:#000000f2}.bg-black\/\[0\.04\]{background-color:#0000000a}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(96 165 250/var(--tw-bg-opacity,1))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-blue-500\/10{background-color:#3b82f61a}.bg-blue-500\/15{background-color:#3b82f626}.bg-blue-500\/20{background-color:#3b82f633}.bg-blue-500\/30{background-color:#3b82f64d}.bg-blue-500\/5{background-color:#3b82f60d}.bg-blue-500\/70{background-color:#3b82f6b3}.bg-blue-600\/90{background-color:#2563ebe6}.bg-border{--tw-bg-opacity:1;background-color:hsl(var(--border) / var(--tw-bg-opacity,1))}.bg-border\/30{background-color:hsl(var(--border) / .3)}.bg-border\/50{background-color:hsl(var(--border) / .5)}.bg-card{--tw-bg-opacity:1;background-color:hsl(var(--card) / var(--tw-bg-opacity,1))}.bg-card\/50{background-color:hsl(var(--card) / .5)}.bg-card\/60{background-color:hsl(var(--card) / .6)}.bg-card\/80{background-color:hsl(var(--card) / .8)}.bg-card\/95{background-color:hsl(var(--card) / .95)}.bg-cyan-500\/10{background-color:#06b6d41a}.bg-cyan-500\/15{background-color:#06b6d426}.bg-destructive{--tw-bg-opacity:1;background-color:hsl(var(--destructive) / var(--tw-bg-opacity,1))}.bg-destructive\/10{background-color:hsl(var(--destructive) / .1)}.bg-destructive\/5{background-color:hsl(var(--destructive) / .05)}.bg-emerald-100{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity,1))}.bg-emerald-400{--tw-bg-opacity:1;background-color:rgb(52 211 153/var(--tw-bg-opacity,1))}.bg-emerald-500{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.bg-emerald-500\/10{background-color:#10b9811a}.bg-emerald-500\/15{background-color:#10b98126}.bg-emerald-500\/20{background-color:#10b98133}.bg-emerald-500\/30{background-color:#10b9814d}.bg-emerald-500\/5{background-color:#10b9810d}.bg-emerald-500\/70{background-color:#10b981b3}.bg-foreground{--tw-bg-opacity:1;background-color:hsl(var(--foreground) / var(--tw-bg-opacity,1))}.bg-foreground\/10{background-color:hsl(var(--foreground) / .1)}.bg-foreground\/30{background-color:hsl(var(--foreground) / .3)}.bg-foreground\/40{background-color:hsl(var(--foreground) / .4)}.bg-foreground\/5{background-color:hsl(var(--foreground) / .05)}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-gray-50\/50{background-color:#f9fafb80}.bg-gray-500\/10{background-color:#6b72801a}.bg-gray-500\/20{background-color:#6b728033}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.bg-gray-800\/50{background-color:#1f293780}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.bg-gray-900\/30{background-color:#1118274d}.bg-gray-900\/50{background-color:#11182780}.bg-gray-900\/80{background-color:#111827cc}.bg-gray-950{--tw-bg-opacity:1;background-color:rgb(3 7 18/var(--tw-bg-opacity,1))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(74 222 128/var(--tw-bg-opacity,1))}.bg-green-400\/70{background-color:#4ade80b3}.bg-green-400\/80{background-color:#4ade80cc}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-green-500\/10{background-color:#22c55e1a}.bg-green-500\/20{background-color:#22c55e33}.bg-green-500\/30{background-color:#22c55e4d}.bg-green-500\/5{background-color:#22c55e0d}.bg-indigo-100{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity,1))}.bg-indigo-400{--tw-bg-opacity:1;background-color:rgb(129 140 248/var(--tw-bg-opacity,1))}.bg-indigo-50{--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.bg-indigo-500\/20{background-color:#6366f133}.bg-indigo-500\/30{background-color:#6366f14d}.bg-lime-500{--tw-bg-opacity:1;background-color:rgb(132 204 22/var(--tw-bg-opacity,1))}.bg-muted{--tw-bg-opacity:1;background-color:hsl(var(--muted) / var(--tw-bg-opacity,1))}.bg-muted-foreground{--tw-bg-opacity:1;background-color:hsl(var(--muted-foreground) / var(--tw-bg-opacity,1))}.bg-muted-foreground\/20{background-color:hsl(var(--muted-foreground) / .2)}.bg-muted-foreground\/30{background-color:hsl(var(--muted-foreground) / .3)}.bg-muted-foreground\/40{background-color:hsl(var(--muted-foreground) / .4)}.bg-muted\/20{background-color:hsl(var(--muted) / .2)}.bg-muted\/30{background-color:hsl(var(--muted) / .3)}.bg-muted\/40{background-color:hsl(var(--muted) / .4)}.bg-muted\/50{background-color:hsl(var(--muted) / .5)}.bg-muted\/60{background-color:hsl(var(--muted) / .6)}.bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.bg-orange-400{--tw-bg-opacity:1;background-color:rgb(251 146 60/var(--tw-bg-opacity,1))}.bg-orange-500\/10{background-color:#f973161a}.bg-orange-500\/15{background-color:#f9731626}.bg-orange-500\/30{background-color:#f973164d}.bg-orange-500\/5{background-color:#f973160d}.bg-orange-600{--tw-bg-opacity:1;background-color:rgb(234 88 12/var(--tw-bg-opacity,1))}.bg-pink-500\/15{background-color:#ec489926}.bg-popover{--tw-bg-opacity:1;background-color:hsl(var(--popover) / var(--tw-bg-opacity,1))}.bg-primary{--tw-bg-opacity:1;background-color:hsl(var(--primary) / var(--tw-bg-opacity,1))}.bg-primary-foreground\/20{background-color:hsl(var(--primary-foreground) / .2)}.bg-primary-foreground\/30{background-color:hsl(var(--primary-foreground) / .3)}.bg-primary\/10{background-color:hsl(var(--primary) / .1)}.bg-primary\/15{background-color:hsl(var(--primary) / .15)}.bg-primary\/20{background-color:hsl(var(--primary) / .2)}.bg-primary\/5{background-color:hsl(var(--primary) / .05)}.bg-primary\/50{background-color:hsl(var(--primary) / .5)}.bg-primary\/60{background-color:hsl(var(--primary) / .6)}.bg-primary\/70{background-color:hsl(var(--primary) / .7)}.bg-primary\/\[0\.03\]{background-color:hsl(var(--primary) / .03)}.bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.bg-purple-400{--tw-bg-opacity:1;background-color:rgb(192 132 252/var(--tw-bg-opacity,1))}.bg-purple-500\/10{background-color:#a855f71a}.bg-purple-500\/15{background-color:#a855f726}.bg-purple-500\/20{background-color:#a855f733}.bg-purple-500\/30{background-color:#a855f74d}.bg-purple-500\/5{background-color:#a855f70d}.bg-purple-600{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-red-400{--tw-bg-opacity:1;background-color:rgb(248 113 113/var(--tw-bg-opacity,1))}.bg-red-400\/20{background-color:#f8717133}.bg-red-400\/70{background-color:#f87171b3}.bg-red-400\/80{background-color:#f87171cc}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-red-500\/10{background-color:#ef44441a}.bg-red-500\/15{background-color:#ef444426}.bg-red-500\/20{background-color:#ef444433}.bg-red-500\/5{background-color:#ef44440d}.bg-red-600\/90{background-color:#dc2626e6}.bg-secondary{--tw-bg-opacity:1;background-color:hsl(var(--secondary) / var(--tw-bg-opacity,1))}.bg-sidebar{--tw-bg-opacity:1;background-color:hsl(var(--sidebar) / var(--tw-bg-opacity,1))}.bg-sidebar-border{--tw-bg-opacity:1;background-color:hsl(var(--sidebar-border) / var(--tw-bg-opacity,1))}.bg-sky-500{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}.bg-sky-500\/10{background-color:#0ea5e91a}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.bg-slate-400{--tw-bg-opacity:1;background-color:rgb(148 163 184/var(--tw-bg-opacity,1))}.bg-slate-500\/10{background-color:#64748b1a}.bg-transparent{background-color:#0000}.bg-violet-500{--tw-bg-opacity:1;background-color:rgb(139 92 246/var(--tw-bg-opacity,1))}.bg-violet-500\/10{background-color:#8b5cf61a}.bg-violet-500\/15{background-color:#8b5cf626}.bg-violet-500\/70{background-color:#8b5cf6b3}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/10{background-color:#ffffff1a}.bg-white\/15{background-color:#ffffff26}.bg-white\/20{background-color:#fff3}.bg-white\/5{background-color:#ffffff0d}.bg-white\/\[0\.02\]{background-color:#ffffff05}.bg-white\/\[0\.03\]{background-color:#ffffff08}.bg-white\/\[0\.04\]{background-color:#ffffff0a}.bg-white\/\[0\.08\]{background-color:#ffffff14}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.bg-yellow-400\/70{background-color:#facc15b3}.bg-yellow-400\/80{background-color:#facc15cc}.bg-yellow-50{--tw-bg-opacity:1;background-color:rgb(254 252 232/var(--tw-bg-opacity,1))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.bg-yellow-500\/10{background-color:#eab3081a}.bg-yellow-500\/15{background-color:#eab30826}.bg-yellow-500\/20{background-color:#eab30833}.bg-yellow-500\/30{background-color:#eab3084d}.bg-yellow-500\/5{background-color:#eab3080d}.bg-yellow-600\/90{background-color:#ca8a04e6}.bg-zinc-500\/10{background-color:#71717a1a}.bg-zinc-700{--tw-bg-opacity:1;background-color:rgb(63 63 70/var(--tw-bg-opacity,1))}.bg-zinc-800{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.bg-zinc-800\/80{background-color:#27272acc}.bg-zinc-900{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity,1))}.bg-zinc-950{--tw-bg-opacity:1;background-color:rgb(9 9 11/var(--tw-bg-opacity,1))}.bg-\[conic-gradient\(from_0deg\,transparent\,hsl\(var\(--primary\)\/0\.22\)\,transparent\,hsl\(var\(--primary\)\/0\.12\)\,transparent\)\]{background-image:conic-gradient(from 0deg,transparent,hsl(var(--primary)/.22),transparent,hsl(var(--primary)/.12),transparent)}.bg-\[radial-gradient\(circle\,rgba\(204\,255\,0\,0\.06\)_0\%\,transparent_70\%\)\]{background-image:radial-gradient(circle,#ccff000f 0%,#0000 70%)}.bg-\[radial-gradient\(circle\,rgba\(204\,255\,0\,0\.07\)_0\%\,transparent_70\%\)\]{background-image:radial-gradient(circle,#ccff0012 0%,#0000 70%)}.bg-\[radial-gradient\(circle\,rgba\(204\,255\,0\,0\.08\)_0\%\,rgba\(204\,255\,0\,0\.02\)_40\%\,transparent_70\%\)\]{background-image:radial-gradient(circle,#ccff0014 0%,#ccff0005 40%,#0000 70%)}.bg-\[radial-gradient\(circle\,rgba\(204\,255\,0\,0\.08\)_0\%\,transparent_70\%\)\]{background-image:radial-gradient(circle,#ccff0014 0%,#0000 70%)}.bg-\[radial-gradient\(circle_at_50\%_25\%\,hsl\(var\(--primary\)\/0\.18\)\,transparent_34\%\)\,linear-gradient\(180deg\,hsl\(var\(--background\)\)\,hsl\(var\(--muted\)\/0\.4\)\)\]{background-image:radial-gradient(circle at 50% 25%,hsl(var(--primary)/.18),transparent 34%),linear-gradient(180deg,hsl(var(--background)),hsl(var(--muted)/.4))}.bg-gradient-to-b{background-image:linear-gradient(to bottom, var(--tw-gradient-stops))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right, var(--tw-gradient-stops))}.bg-gradient-to-l{background-image:linear-gradient(to left, var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right, var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top, var(--tw-gradient-stops))}.from-\[\#1c1c1f\]{--tw-gradient-from:#1c1c1f var(--tw-gradient-from-position);--tw-gradient-to:#1c1c1f00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[\#c8ff00\]\/15{--tw-gradient-from:#c8ff0026 var(--tw-gradient-from-position);--tw-gradient-to:#c8ff0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[\#ccff00\]\/10{--tw-gradient-from:#ccff001a var(--tw-gradient-from-position);--tw-gradient-to:#cf00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[\#ccff00\]\/15{--tw-gradient-from:#ccff0026 var(--tw-gradient-from-position);--tw-gradient-to:#cf00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[\#ccff00\]\/30{--tw-gradient-from:#ccff004d var(--tw-gradient-from-position);--tw-gradient-to:#cf00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[\#ccff00\]\/5{--tw-gradient-from:#ccff000d var(--tw-gradient-from-position);--tw-gradient-to:#cf00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-black\/75{--tw-gradient-from:#000000bf var(--tw-gradient-from-position);--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-emerald-500\/15{--tw-gradient-from:#10b98126 var(--tw-gradient-from-position);--tw-gradient-to:#10b98100 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-gray-50{--tw-gradient-from:#f9fafb var(--tw-gradient-from-position);--tw-gradient-to:#f9fafb00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-gray-900{--tw-gradient-from:#111827 var(--tw-gradient-from-position);--tw-gradient-to:#11182700 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-indigo-50{--tw-gradient-from:#eef2ff var(--tw-gradient-from-position);--tw-gradient-to:#eef2ff00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-muted\/40{--tw-gradient-from:hsl(var(--muted) / .4) var(--tw-gradient-from-position);--tw-gradient-to:hsl(var(--muted) / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-muted\/80{--tw-gradient-from:hsl(var(--muted) / .8) var(--tw-gradient-from-position);--tw-gradient-to:hsl(var(--muted) / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary{--tw-gradient-from:hsl(var(--primary) / 1) var(--tw-gradient-from-position);--tw-gradient-to:hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary\/10{--tw-gradient-from:hsl(var(--primary) / .1) var(--tw-gradient-from-position);--tw-gradient-to:hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary\/15{--tw-gradient-from:hsl(var(--primary) / .15) var(--tw-gradient-from-position);--tw-gradient-to:hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary\/30{--tw-gradient-from:hsl(var(--primary) / .3) var(--tw-gradient-from-position);--tw-gradient-to:hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary\/40{--tw-gradient-from:hsl(var(--primary) / .4) var(--tw-gradient-from-position);--tw-gradient-to:hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary\/60{--tw-gradient-from:hsl(var(--primary) / .6) var(--tw-gradient-from-position);--tw-gradient-to:hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary\/\[0\.03\]{--tw-gradient-from:hsl(var(--primary) / .03) var(--tw-gradient-from-position);--tw-gradient-to:hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-primary\/\[0\.04\]{--tw-gradient-from:hsl(var(--primary) / .04) var(--tw-gradient-from-position);--tw-gradient-to:hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-transparent{--tw-gradient-from:transparent var(--tw-gradient-from-position);--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-white{--tw-gradient-from:#fff var(--tw-gradient-from-position);--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-yellow-500\/15{--tw-gradient-from:#eab30826 var(--tw-gradient-from-position);--tw-gradient-to:#eab30800 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.via-\[\#c8ff00\]{--tw-gradient-to:#c8ff0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), #c8ff00 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-black\/25{--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), #00000040 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-border\/40{--tw-gradient-to:hsl(var(--border) / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), hsl(var(--border) / .4) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-gray-700{--tw-gradient-to:#37415100 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), #374151 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-primary\/30{--tw-gradient-to:hsl(var(--primary) / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), hsl(var(--primary) / .3) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-transparent{--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), transparent var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-white{--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), #fff var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-white\/5{--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), #ffffff0d var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-\[\#141416\]{--tw-gradient-to:#141416 var(--tw-gradient-to-position)}.to-\[\#c8ff00\]\/5{--tw-gradient-to:#c8ff000d var(--tw-gradient-to-position)}.to-\[\#ccff00\]\/20{--tw-gradient-to:#cf03 var(--tw-gradient-to-position)}.to-\[\#ccff00\]\/5{--tw-gradient-to:#ccff000d var(--tw-gradient-to-position)}.to-emerald-500\/5{--tw-gradient-to:#10b9810d var(--tw-gradient-to-position)}.to-gray-100\/50{--tw-gradient-to:#f3f4f680 var(--tw-gradient-to-position)}.to-gray-50\/50{--tw-gradient-to:#f9fafb80 var(--tw-gradient-to-position)}.to-gray-500{--tw-gradient-to:#6b7280 var(--tw-gradient-to-position)}.to-gray-800{--tw-gradient-to:#1f2937 var(--tw-gradient-to-position)}.to-gray-900{--tw-gradient-to:#111827 var(--tw-gradient-to-position)}.to-muted\/10{--tw-gradient-to:hsl(var(--muted) / .1) var(--tw-gradient-to-position)}.to-muted\/40{--tw-gradient-to:hsl(var(--muted) / .4) var(--tw-gradient-to-position)}.to-primary\/10{--tw-gradient-to:hsl(var(--primary) / .1) var(--tw-gradient-to-position)}.to-primary\/5{--tw-gradient-to:hsl(var(--primary) / .05) var(--tw-gradient-to-position)}.to-primary\/60{--tw-gradient-to:hsl(var(--primary) / .6) var(--tw-gradient-to-position)}.to-primary\/90{--tw-gradient-to:hsl(var(--primary) / .9) var(--tw-gradient-to-position)}.to-purple-50{--tw-gradient-to:#faf5ff var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.to-white{--tw-gradient-to:#fff var(--tw-gradient-to-position)}.to-yellow-500\/5{--tw-gradient-to:#eab3080d var(--tw-gradient-to-position)}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.fill-\[\#ccff00\]{fill:#cf0}.fill-current{fill:currentColor}.fill-primary{fill:hsl(var(--primary) / 1)}.fill-primary\/10{fill:hsl(var(--primary) / .1)}.fill-red-500{fill:#ef4444}.fill-white{fill:#fff}.stroke-border{stroke:hsl(var(--border) / 1)}.stroke-muted\/50{stroke:hsl(var(--muted) / .5)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-12{padding:3rem}.p-16{padding:4rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-3\.5{padding:.875rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-7{padding:1.75rem}.p-8{padding:2rem}.p-\[1px\]{padding:1px}.p-\[3px\]{padding:3px}.px-0{padding-left:0;padding-right:0}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-16{padding-left:4rem;padding-right:4rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-14{padding-top:3.5rem;padding-bottom:3.5rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-24{padding-top:6rem;padding-bottom:6rem}.py-28{padding-top:7rem;padding-bottom:7rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-px{padding-top:1px;padding-bottom:1px}.pb-0{padding-bottom:0}.pb-1{padding-bottom:.25rem}.pb-1\.5{padding-bottom:.375rem}.pb-10{padding-bottom:2.5rem}.pb-16{padding-bottom:4rem}.pb-2{padding-bottom:.5rem}.pb-2\.5{padding-bottom:.625rem}.pb-20{padding-bottom:5rem}.pb-24{padding-bottom:6rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-5{padding-bottom:1.25rem}.pb-6{padding-bottom:1.5rem}.pb-8{padding-bottom:2rem}.pb-\[env\(safe-area-inset-bottom\)\]{padding-bottom:env(safe-area-inset-bottom)}.pb-\[max\(12px\,env\(safe-area-inset-bottom\)\)\]{padding-bottom:max(12px,env(safe-area-inset-bottom))}.pl-1{padding-left:.25rem}.pl-10{padding-left:2.5rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pl-7{padding-left:1.75rem}.pl-8{padding-left:2rem}.pl-9{padding-left:2.25rem}.pr-0{padding-right:0}.pr-1{padding-right:.25rem}.pr-10{padding-right:2.5rem}.pr-12{padding-right:3rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pr-5{padding-right:1.25rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-0\.5{padding-top:.125rem}.pt-1{padding-top:.25rem}.pt-1\.5{padding-top:.375rem}.pt-10{padding-top:2.5rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-2\.5{padding-top:.625rem}.pt-28{padding-top:7rem}.pt-3{padding-top:.75rem}.pt-32{padding-top:8rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-\[family-name\:var\(--font-satoshi\)\]{font-family:var(--font-satoshi)}.font-display{font-family:var(--font-display)}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-6xl{font-size:3.75rem;line-height:1}.text-\[1\.0625rem\]{font-size:1.0625rem}.text-\[10px\]{font-size:10px}.text-\[10rem\]{font-size:10rem}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[6px\]{font-size:6px}.text-\[7px\]{font-size:7px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-4{line-height:1rem}.leading-\[1\.08\]{line-height:1.08}.leading-\[1\.4\]{line-height:1.4}.leading-\[1\.5\]{line-height:1.5}.leading-\[1\.75\]{line-height:1.75}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[0\.15em\]{letter-spacing:.15em}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-\[0\.3em\]{letter-spacing:.3em}.tracking-normal{letter-spacing:0}.tracking-tight{letter-spacing:-.025em}.tracking-tighter{letter-spacing:-.05em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-\[\#18181a\]{--tw-text-opacity:1;color:rgb(24 24 26/var(--tw-text-opacity,1))}.text-\[\#28c840\]{--tw-text-opacity:1;color:rgb(40 200 64/var(--tw-text-opacity,1))}.text-\[\#7a9900\]{--tw-text-opacity:1;color:rgb(122 153 0/var(--tw-text-opacity,1))}.text-\[\#c8ff00\]{--tw-text-opacity:1;color:rgb(200 255 0/var(--tw-text-opacity,1))}.text-\[\#c8ff00\]\/60{color:#c8ff0099}.text-\[\#c8ff00\]\/70{color:#c8ff00b3}.text-\[\#ccff00\]{--tw-text-opacity:1;color:rgb(204 255 0/var(--tw-text-opacity,1))}.text-\[\#ccff00\]\/40{color:#cf06}.text-\[\#ccff00\]\/60{color:#cf09}.text-\[\#ccff00\]\/80{color:#cf0c}.text-accent-foreground{--tw-text-opacity:1;color:hsl(var(--accent-foreground) / var(--tw-text-opacity,1))}.text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.text-background{--tw-text-opacity:1;color:hsl(var(--background) / var(--tw-text-opacity,1))}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.text-black\/60{color:#0009}.text-black\/70{color:#000000b3}.text-black\/80{color:#000c}.text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.text-border{--tw-text-opacity:1;color:hsl(var(--border) / var(--tw-text-opacity,1))}.text-card-foreground{--tw-text-opacity:1;color:hsl(var(--card-foreground) / var(--tw-text-opacity,1))}.text-current{color:currentColor}.text-cyan-400{--tw-text-opacity:1;color:rgb(34 211 238/var(--tw-text-opacity,1))}.text-destructive{--tw-text-opacity:1;color:hsl(var(--destructive) / var(--tw-text-opacity,1))}.text-destructive-foreground{--tw-text-opacity:1;color:hsl(var(--destructive-foreground) / var(--tw-text-opacity,1))}.text-emerald-400{--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.text-emerald-500{--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity,1))}.text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.text-emerald-800{--tw-text-opacity:1;color:rgb(6 95 70/var(--tw-text-opacity,1))}.text-foreground{--tw-text-opacity:1;color:hsl(var(--foreground) / var(--tw-text-opacity,1))}.text-foreground\/50{color:hsl(var(--foreground) / .5)}.text-foreground\/60{color:hsl(var(--foreground) / .6)}.text-foreground\/70{color:hsl(var(--foreground) / .7)}.text-foreground\/80{color:hsl(var(--foreground) / .8)}.text-foreground\/90{color:hsl(var(--foreground) / .9)}.text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.text-indigo-500{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.text-indigo-800{--tw-text-opacity:1;color:rgb(55 48 163/var(--tw-text-opacity,1))}.text-muted-foreground{--tw-text-opacity:1;color:hsl(var(--muted-foreground) / var(--tw-text-opacity,1))}.text-muted-foreground\/30{color:hsl(var(--muted-foreground) / .3)}.text-muted-foreground\/40{color:hsl(var(--muted-foreground) / .4)}.text-muted-foreground\/50{color:hsl(var(--muted-foreground) / .5)}.text-muted-foreground\/60{color:hsl(var(--muted-foreground) / .6)}.text-muted-foreground\/70{color:hsl(var(--muted-foreground) / .7)}.text-orange-400{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.text-orange-800{--tw-text-opacity:1;color:rgb(154 52 18/var(--tw-text-opacity,1))}.text-pink-400{--tw-text-opacity:1;color:rgb(244 114 182/var(--tw-text-opacity,1))}.text-popover-foreground{--tw-text-opacity:1;color:hsl(var(--popover-foreground) / var(--tw-text-opacity,1))}.text-primary{--tw-text-opacity:1;color:hsl(var(--primary) / var(--tw-text-opacity,1))}.text-primary-foreground{--tw-text-opacity:1;color:hsl(var(--primary-foreground) / var(--tw-text-opacity,1))}.text-primary-foreground\/40{color:hsl(var(--primary-foreground) / .4)}.text-primary-foreground\/50{color:hsl(var(--primary-foreground) / .5)}.text-primary-foreground\/60{color:hsl(var(--primary-foreground) / .6)}.text-primary-foreground\/70{color:hsl(var(--primary-foreground) / .7)}.text-primary-foreground\/80{color:hsl(var(--primary-foreground) / .8)}.text-primary-foreground\/90{color:hsl(var(--primary-foreground) / .9)}.text-primary\/20{color:hsl(var(--primary) / .2)}.text-primary\/70{color:hsl(var(--primary) / .7)}.text-primary\/80{color:hsl(var(--primary) / .8)}.text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.text-purple-800{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity,1))}.text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-red-400\/80{color:#f87171cc}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.text-secondary-foreground{--tw-text-opacity:1;color:hsl(var(--secondary-foreground) / var(--tw-text-opacity,1))}.text-sidebar-foreground{--tw-text-opacity:1;color:hsl(var(--sidebar-foreground) / var(--tw-text-opacity,1))}.text-sidebar-foreground\/70{color:hsl(var(--sidebar-foreground) / .7)}.text-sky-600{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity,1))}.text-transparent{color:#0000}.text-violet-400{--tw-text-opacity:1;color:rgb(167 139 250/var(--tw-text-opacity,1))}.text-violet-600{--tw-text-opacity:1;color:rgb(124 58 237/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/15{color:#ffffff26}.text-white\/20{color:#fff3}.text-white\/25{color:#ffffff40}.text-white\/30{color:#ffffff4d}.text-white\/40{color:#fff6}.text-white\/50{color:#ffffff80}.text-white\/60{color:#fff9}.text-white\/65{color:#ffffffa6}.text-white\/70{color:#ffffffb3}.text-white\/75{color:#ffffffbf}.text-white\/80{color:#fffc}.text-white\/90{color:#ffffffe6}.text-yellow-300{--tw-text-opacity:1;color:rgb(253 224 71/var(--tw-text-opacity,1))}.text-yellow-400{--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity,1))}.text-yellow-400\/60{color:#facc1599}.text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.text-yellow-600{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity,1))}.text-yellow-700{--tw-text-opacity:1;color:rgb(161 98 7/var(--tw-text-opacity,1))}.text-yellow-800{--tw-text-opacity:1;color:rgb(133 77 14/var(--tw-text-opacity,1))}.text-zinc-100{--tw-text-opacity:1;color:rgb(244 244 245/var(--tw-text-opacity,1))}.text-zinc-300{--tw-text-opacity:1;color:rgb(212 212 216/var(--tw-text-opacity,1))}.text-zinc-400{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.text-zinc-500{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity,1))}.text-zinc-600{--tw-text-opacity:1;color:rgb(82 82 91/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.decoration-primary\/50{-webkit-text-decoration-color:hsl(var(--primary) / .5);text-decoration-color:hsl(var(--primary) / .5)}.decoration-dotted{text-decoration-style:dotted}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-\[\#ccff00\]{accent-color:#cf0}.accent-primary{accent-color:hsl(var(--primary) / 1)}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-20{opacity:.2}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.opacity-95{opacity:.95}.shadow{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{--tw-shadow:0 0 0 1px hsl(var(--sidebar-border));--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_0_12px_rgba\(204\,255\,0\,0\.3\)\]{--tw-shadow:0 0 12px #ccff004d;--tw-shadow-colored:0 0 12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_0_20px_rgba\(204\,255\,0\,0\.05\)\]{--tw-shadow:0 0 20px #ccff000d;--tw-shadow-colored:0 0 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_1px_3px_rgba\(0\,0\,0\,0\.02\)\]{--tw-shadow:0 1px 3px #00000005;--tw-shadow-colored:0 1px 3px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_1px_3px_rgba\(0\,0\,0\,0\.2\)\]{--tw-shadow:0 1px 3px #0003;--tw-shadow-colored:0 1px 3px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_20px_60px_rgba\(0\,0\,0\,0\.08\)\]{--tw-shadow:0 20px 60px #00000014;--tw-shadow-colored:0 20px 60px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_2px_10px_rgba\(0\,0\,0\,0\.02\)\]{--tw-shadow:0 2px 10px #00000005;--tw-shadow-colored:0 2px 10px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_30px_80px_rgba\(0\,0\,0\,0\.35\)\]{--tw-shadow:0 30px 80px #00000059;--tw-shadow-colored:0 30px 80px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_30px_80px_rgba\(0\,0\,0\,0\.6\)\]{--tw-shadow:0 30px 80px #0009;--tw-shadow-colored:0 30px 80px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_8px_30px_rgba\(204\,255\,0\,0\.2\)\]{--tw-shadow:0 8px 30px #cf03;--tw-shadow-colored:0 8px 30px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_8px_40px_rgba\(0\,0\,0\,0\.5\)\]{--tw-shadow:0 8px 40px #00000080;--tw-shadow-colored:0 8px 40px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[\#c8ff00\]\/20{--tw-shadow-color:#c8ff0033;--tw-shadow:var(--tw-shadow-colored)}.shadow-\[\#c8ff00\]\/5{--tw-shadow-color:#c8ff000d;--tw-shadow:var(--tw-shadow-colored)}.shadow-\[\#ccff00\]\/20{--tw-shadow-color:#cf03;--tw-shadow:var(--tw-shadow-colored)}.shadow-\[\#ccff00\]\/30{--tw-shadow-color:#ccff004d;--tw-shadow:var(--tw-shadow-colored)}.shadow-black\/10{--tw-shadow-color:#0000001a;--tw-shadow:var(--tw-shadow-colored)}.shadow-black\/20{--tw-shadow-color:#0003;--tw-shadow:var(--tw-shadow-colored)}.shadow-black\/5{--tw-shadow-color:#0000000d;--tw-shadow:var(--tw-shadow-colored)}.shadow-primary\/20{--tw-shadow-color:hsl(var(--primary) / .2);--tw-shadow:var(--tw-shadow-colored)}.shadow-primary\/25{--tw-shadow-color:hsl(var(--primary) / .25);--tw-shadow:var(--tw-shadow-colored)}.shadow-primary\/40{--tw-shadow-color:hsl(var(--primary) / .4);--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline-offset:2px;outline:2px solid #0000}.outline{outline-style:solid}.outline-2{outline-width:2px}.outline-offset-2{outline-offset:2px}.outline-transparent{outline-color:#0000}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-4{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-\[\#ccff00\]{--tw-ring-opacity:1;--tw-ring-color:rgb(204 255 0/var(--tw-ring-opacity,1))}.ring-\[\#ccff00\]\/20{--tw-ring-color:#cf03}.ring-background{--tw-ring-opacity:1;--tw-ring-color:hsl(var(--background) / var(--tw-ring-opacity,1))}.ring-blue-400{--tw-ring-opacity:1;--tw-ring-color:rgb(96 165 250/var(--tw-ring-opacity,1))}.ring-border\/60{--tw-ring-color:hsl(var(--border) / .6)}.ring-emerald-500\/40{--tw-ring-color:#10b98166}.ring-gray-200\/50{--tw-ring-color:#e5e7eb80}.ring-green-400{--tw-ring-opacity:1;--tw-ring-color:rgb(74 222 128/var(--tw-ring-opacity,1))}.ring-muted-foreground{--tw-ring-opacity:1;--tw-ring-color:hsl(var(--muted-foreground) / var(--tw-ring-opacity,1))}.ring-muted-foreground\/30{--tw-ring-color:hsl(var(--muted-foreground) / .3)}.ring-primary{--tw-ring-opacity:1;--tw-ring-color:hsl(var(--primary) / var(--tw-ring-opacity,1))}.ring-primary\/15{--tw-ring-color:hsl(var(--primary) / .15)}.ring-primary\/20{--tw-ring-color:hsl(var(--primary) / .2)}.ring-primary\/30{--tw-ring-color:hsl(var(--primary) / .3)}.ring-primary\/40{--tw-ring-color:hsl(var(--primary) / .4)}.ring-primary\/50{--tw-ring-color:hsl(var(--primary) / .5)}.ring-red-400{--tw-ring-opacity:1;--tw-ring-color:rgb(248 113 113/var(--tw-ring-opacity,1))}.ring-red-400\/40{--tw-ring-color:#f8717166}.ring-ring{--tw-ring-opacity:1;--tw-ring-color:hsl(var(--ring) / var(--tw-ring-opacity,1))}.ring-sidebar-ring{--tw-ring-opacity:1;--tw-ring-color:hsl(var(--sidebar-ring) / var(--tw-ring-opacity,1))}.ring-white\/50{--tw-ring-color:#ffffff80}.ring-yellow-400{--tw-ring-opacity:1;--tw-ring-color:rgb(250 204 21/var(--tw-ring-opacity,1))}.ring-yellow-500\/40{--tw-ring-color:#eab30866}.ring-offset-2{--tw-ring-offset-width:2px}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background) / 1)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-2xl{--tw-blur:blur(40px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-3xl{--tw-blur:blur(64px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-\[100px\]{--tw-blur:blur(100px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-\[120px\]{--tw-blur:blur(120px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-\[150px\]{--tw-blur:blur(150px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-\[60px\]{--tw-blur:blur(60px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-\[80px\]{--tw-blur:blur(80px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-sm{--tw-blur:blur(4px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-xl{--tw-blur:blur(24px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-\[0_0_30px_rgba\(239\,68\,68\,0\.6\)\]{--tw-drop-shadow:drop-shadow(0 0 30px #ef444499);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-lg{--tw-backdrop-blur:blur(16px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-xl{--tw-backdrop-blur:blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[left\,right\,width\]{transition-property:left,right,width;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[margin\,opacity\]{transition-property:margin,opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[transform\,box-shadow\]{transition-property:transform,box-shadow;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[width\]{transition-property:width;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-shadow{transition-property:box-shadow;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-100{transition-duration:.1s}.duration-1000{transition-duration:1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{transition-timing-function:linear}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0), var(--tw-enter-translate-y,0), 0) scale3d(var(--tw-enter-scale,1), var(--tw-enter-scale,1), var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0), var(--tw-exit-translate-y,0), 0) scale3d(var(--tw-exit-scale,1), var(--tw-exit-scale,1), var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.animate-in{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.fade-in,.fade-in-0{--tw-enter-opacity:0}.zoom-in-95{--tw-enter-scale:.95}.slide-in-from-top-1{--tw-enter-translate-y:-.25rem}.duration-100{animation-duration:.1s}.duration-1000{animation-duration:1s}.duration-150{animation-duration:.15s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.duration-500{animation-duration:.5s}.duration-700{animation-duration:.7s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{animation-timing-function:linear}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.running{animation-play-state:running}.paused{animation-play-state:paused}input[type=search]::-webkit-search-cancel-button{display:none}[contenteditable][data-placeholder]:empty:before{content:attr(data-placeholder);color:hsl(var(--muted-foreground));pointer-events:none}.\[border-color\:var\(--badge-outline\)\]{border-color:var(--badge-outline)}.\[border-color\:var\(--button-outline\)\]{border-color:var(--button-outline)}:root{--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--ease-drawer:cubic-bezier(.32, .72, 0, 1);--button-outline:#0000000f;--badge-outline:#0000000a;--elevate-1:#00000005;--elevate-2:#0000000a;--background:0 0% 100%;--foreground:0 0% 8%;--border:0 0% 90%;--card:0 0% 100%;--card-foreground:0 0% 8%;--card-border:0 0% 90%;--sidebar:0 0% 98%;--sidebar-foreground:0 0% 8%;--sidebar-border:0 0% 90%;--sidebar-primary:76 87% 63%;--sidebar-primary-foreground:0 0% 0%;--sidebar-accent:0 0% 95%;--sidebar-accent-foreground:0 0% 8%;--sidebar-ring:76 87% 63%;--popover:0 0% 100%;--popover-foreground:0 0% 8%;--popover-border:0 0% 90%;--primary:76 87% 63%;--primary-foreground:0 0% 0%;--secondary:0 0% 96%;--secondary-foreground:0 0% 20%;--muted:0 0% 96%;--muted-foreground:0 0% 30%;--accent:76 87% 95%;--accent-foreground:76 87% 35%;--destructive:0 84% 60%;--destructive-foreground:0 0% 100%;--input:0 0% 88%;--ring:76 87% 63%;--chart-1:76 87% 63%;--chart-2:0 0% 30%;--chart-3:0 0% 50%;--chart-4:0 0% 70%;--chart-5:76 80% 55%;--font-sans:var(--font-inter,"Inter"), -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display:"Satoshi", var(--font-inter,"Inter"), -apple-system, BlinkMacSystemFont, sans-serif;--font-serif:Georgia, serif;--font-mono:"SF Mono", Menlo, Monaco, "Courier New", monospace;--radius:.5rem;--shadow-2xs:0px 1px 2px 0px #00000005;--shadow-xs:0px 1px 2px 0px #00000008;--shadow-sm:0px 1px 3px 0px #0000000a;--shadow:0px 1px 3px 0px #0000000a;--shadow-md:0px 2px 4px 0px #0000000d;--shadow-lg:0px 4px 6px 0px #0000000f;--shadow-xl:0px 6px 10px 0px #00000014;--shadow-2xl:0px 8px 16px 0px #0000001a;--tracking-normal:0em;--spacing:.25rem}.dark{--button-outline:#ffffff0f;--badge-outline:#ffffff0a;--elevate-1:#ffffff05;--elevate-2:#ffffff0d;--background:0 0% 4%;--foreground:0 0% 96%;--border:0 0% 16%;--card:0 0% 7%;--card-foreground:0 0% 96%;--card-border:0 0% 16%;--sidebar:0 0% 4%;--sidebar-foreground:0 0% 96%;--sidebar-border:0 0% 12%;--sidebar-primary:76 87% 63%;--sidebar-primary-foreground:0 0% 0%;--sidebar-accent:0 0% 12%;--sidebar-accent-foreground:0 0% 96%;--sidebar-ring:76 87% 63%;--popover:0 0% 8%;--popover-foreground:0 0% 96%;--popover-border:0 0% 18%;--primary:76 87% 63%;--primary-foreground:0 0% 0%;--secondary:0 0% 14%;--secondary-foreground:0 0% 90%;--muted:0 0% 14%;--muted-foreground:0 0% 80%;--accent:76 87% 12%;--accent-foreground:76 87% 70%;--destructive:0 70% 50%;--destructive-foreground:0 0% 100%;--input:0 0% 24%;--ring:76 87% 63%;--chart-1:76 87% 63%;--chart-2:0 0% 70%;--chart-3:0 0% 50%;--chart-4:0 0% 30%;--chart-5:76 80% 60%;--shadow-2xs:0px 1px 2px 0px #0000001a;--shadow-xs:0px 1px 2px 0px #00000026;--shadow-sm:0px 1px 3px 0px #0003;--shadow:0px 1px 3px 0px #0003;--shadow-md:0px 2px 4px 0px #00000040;--shadow-lg:0px 4px 6px 0px #0000004d;--shadow-xl:0px 6px 10px 0px #00000059;--shadow-2xl:0px 8px 16px 0px #0006}.toggle-elevate:before,.toggle-elevate-2:before{content:"";pointer-events:none;border-radius:inherit;z-index:-1;position:absolute;inset:0}.toggle-elevate.toggle-elevated:before{background-color:var(--elevate-2)}.hover-elevate:not(.no-default-hover-elevate),.active-elevate:not(.no-default-active-elevate),.hover-elevate-2:not(.no-default-hover-elevate),.active-elevate-2:not(.no-default-active-elevate){z-index:0;position:relative}.hover-elevate:not(.no-default-hover-elevate):after,.active-elevate:not(.no-default-active-elevate):after,.hover-elevate-2:not(.no-default-hover-elevate):after,.active-elevate-2:not(.no-default-active-elevate):after{content:"";pointer-events:none;border-radius:inherit;z-index:999;position:absolute;inset:0}.hover-elevate:hover:not(.no-default-hover-elevate):after,.active-elevate:active:not(.no-default-active-elevate):after{background-color:var(--elevate-1)}.hover-elevate-2:hover:not(.no-default-hover-elevate):after,.active-elevate-2:active:not(.no-default-active-elevate):after{background-color:var(--elevate-2)}@keyframes shimmer{0%{opacity:.4}50%{opacity:.7}to{opacity:.4}}.animate-shimmer{animation:1.5s ease-in-out infinite shimmer}[data-radix-accordion-content]{contain:paint}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html{scroll-behavior:auto}}.scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:hsl(var(--muted-foreground) / .2);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:hsl(var(--muted-foreground) / .35)}{scrollbar-width:thin;scrollbar-color:hsl(var(--muted-foreground) / .2) transparent}:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}@media (hover:hover) and (pointer:fine){.hover-elevate:not(.no-default-hover-elevate):after,.hover-elevate-2:not(.no-default-hover-elevate):after{transition:background-color .15s var(--ease-out)}}button:not(:disabled),[role=button]:not(:disabled),.pressable{transition:transform .16s var(--ease-out)}button:not(:disabled):active,[role=button]:not(:disabled):active,.pressable:active{transform:scale(.97)}media-player{--media-brand:#cf0}@keyframes p2l-eq{0%{transform:scaleY(.4)}to{transform:scaleY(1)}}.dark\:prose-invert:is(.dark ){--tw-prose-body:var(--tw-prose-invert-body);--tw-prose-headings:var(--tw-prose-invert-headings);--tw-prose-lead:var(--tw-prose-invert-lead);--tw-prose-links:var(--tw-prose-invert-links);--tw-prose-bold:var(--tw-prose-invert-bold);--tw-prose-counters:var(--tw-prose-invert-counters);--tw-prose-bullets:var(--tw-prose-invert-bullets);--tw-prose-hr:var(--tw-prose-invert-hr);--tw-prose-quotes:var(--tw-prose-invert-quotes);--tw-prose-quote-borders:var(--tw-prose-invert-quote-borders);--tw-prose-captions:var(--tw-prose-invert-captions);--tw-prose-kbd:var(--tw-prose-invert-kbd);--tw-prose-kbd-shadows:var(--tw-prose-invert-kbd-shadows);--tw-prose-code:var(--tw-prose-invert-code);--tw-prose-pre-code:var(--tw-prose-invert-pre-code);--tw-prose-pre-bg:var(--tw-prose-invert-pre-bg);--tw-prose-th-borders:var(--tw-prose-invert-th-borders);--tw-prose-td-borders:var(--tw-prose-invert-td-borders)}.marker\:hidden ::marker{display:none}.marker\:text-primary\/70 ::marker{color:hsl(var(--primary) / .7)}.marker\:hidden::marker{display:none}.marker\:text-primary\/70::marker{color:hsl(var(--primary) / .7)}.file\:border-0::file-selector-button{border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-foreground::file-selector-button{--tw-text-opacity:1;color:hsl(var(--foreground) / var(--tw-text-opacity,1))}.placeholder\:text-gray-600::placeholder{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.placeholder\:text-muted-foreground::placeholder{--tw-text-opacity:1;color:hsl(var(--muted-foreground) / var(--tw-text-opacity,1))}.placeholder\:text-muted-foreground\/60::placeholder{color:hsl(var(--muted-foreground) / .6)}.placeholder\:text-white\/20::placeholder{color:#fff3}.placeholder\:text-white\/25::placeholder{color:#ffffff40}.after\:pointer-events-none:after{content:var(--tw-content);pointer-events:none}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);inset:-.5rem}.after\:inset-0:after{content:var(--tw-content);inset:0}.after\:inset-y-0:after{content:var(--tw-content);top:0;bottom:0}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:block:after{content:var(--tw-content);display:block}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.after\:rounded-full:after{content:var(--tw-content);border-radius:9999px}.after\:border:after{content:var(--tw-content);border-width:1px}.after\:border-black\/10:after{content:var(--tw-content);border-color:#0000001a}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.first\:rounded-l-md:first-child{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.first\:rounded-l-xl:first-child{border-top-left-radius:.75rem;border-bottom-left-radius:.75rem}.first\:border-l:first-child{border-left-width:1px}.last\:mb-0:last-child{margin-bottom:0}.last\:rounded-r-md:last-child{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.last\:rounded-r-xl:last-child{border-top-right-radius:.75rem;border-bottom-right-radius:.75rem}.last\:border-0:last-child{border-width:0}.last\:border-b-0:last-child{border-bottom-width:0}.last\:pb-0:last-child{padding-bottom:0}.odd\:bg-muted\/20:nth-child(odd){background-color:hsl(var(--muted) / .2)}.hover\:-translate-y-1:hover{--tw-translate-y:-.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-100:hover{--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-\[\#c8ff00\]\/50:hover{border-color:#c8ff0080}.hover\:border-\[\#c8ff00\]\/60:hover{border-color:#c8ff0099}.hover\:border-\[\#ccff00\]:hover{--tw-border-opacity:1;border-color:rgb(204 255 0/var(--tw-border-opacity,1))}.hover\:border-\[\#ccff00\]\/20:hover{border-color:#cf03}.hover\:border-\[\#ccff00\]\/30:hover{border-color:#ccff004d}.hover\:border-\[\#ccff00\]\/60:hover{border-color:#cf09}.hover\:border-blue-400:hover{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.hover\:border-border:hover{--tw-border-opacity:1;border-color:hsl(var(--border) / var(--tw-border-opacity,1))}.hover\:border-border\/60:hover{border-color:hsl(var(--border) / .6)}.hover\:border-gray-200:hover{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.hover\:border-gray-400:hover{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity,1))}.hover\:border-muted-foreground:hover{--tw-border-opacity:1;border-color:hsl(var(--muted-foreground) / var(--tw-border-opacity,1))}.hover\:border-muted-foreground\/50:hover{border-color:hsl(var(--muted-foreground) / .5)}.hover\:border-orange-500\/40:hover{border-color:#f9731666}.hover\:border-primary\/20:hover{border-color:hsl(var(--primary) / .2)}.hover\:border-primary\/30:hover{border-color:hsl(var(--primary) / .3)}.hover\:border-primary\/40:hover{border-color:hsl(var(--primary) / .4)}.hover\:border-primary\/60:hover{border-color:hsl(var(--primary) / .6)}.hover\:border-white\/10:hover{border-color:#ffffff1a}.hover\:border-white\/20:hover{border-color:#fff3}.hover\:border-white\/25:hover{border-color:#ffffff40}.hover\:border-white\/40:hover{border-color:#fff6}.hover\:border-yellow-400:hover{--tw-border-opacity:1;border-color:rgb(250 204 21/var(--tw-border-opacity,1))}.hover\:border-zinc-500:hover{--tw-border-opacity:1;border-color:rgb(113 113 122/var(--tw-border-opacity,1))}.hover\:bg-\[\#b2dd3e\]:hover{--tw-bg-opacity:1;background-color:rgb(178 221 62/var(--tw-bg-opacity,1))}.hover\:bg-\[\#b5e600\]:hover{--tw-bg-opacity:1;background-color:rgb(181 230 0/var(--tw-bg-opacity,1))}.hover\:bg-\[\#b8e600\]:hover{--tw-bg-opacity:1;background-color:rgb(184 230 0/var(--tw-bg-opacity,1))}.hover\:bg-\[\#b8ef00\]:hover{--tw-bg-opacity:1;background-color:rgb(184 239 0/var(--tw-bg-opacity,1))}.hover\:bg-\[\#bff000\]:hover{--tw-bg-opacity:1;background-color:rgb(191 240 0/var(--tw-bg-opacity,1))}.hover\:bg-\[\#c8ff00\]:hover{--tw-bg-opacity:1;background-color:rgb(200 255 0/var(--tw-bg-opacity,1))}.hover\:bg-\[\#ccff00\]:hover{--tw-bg-opacity:1;background-color:rgb(204 255 0/var(--tw-bg-opacity,1))}.hover\:bg-\[\#ccff00\]\/\[0\.02\]:hover{background-color:#ccff0005}.hover\:bg-accent:hover{--tw-bg-opacity:1;background-color:hsl(var(--accent) / var(--tw-bg-opacity,1))}.hover\:bg-accent\/30:hover{background-color:hsl(var(--accent) / .3)}.hover\:bg-accent\/40:hover{background-color:hsl(var(--accent) / .4)}.hover\:bg-accent\/50:hover{background-color:hsl(var(--accent) / .5)}.hover\:bg-background:hover{--tw-bg-opacity:1;background-color:hsl(var(--background) / var(--tw-bg-opacity,1))}.hover\:bg-black\/20:hover{background-color:#0003}.hover\:bg-black\/30:hover{background-color:#0000004d}.hover\:bg-black\/5:hover{background-color:#0000000d}.hover\:bg-black\/80:hover{background-color:#000c}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.hover\:bg-card\/80:hover{background-color:hsl(var(--card) / .8)}.hover\:bg-destructive\/10:hover{background-color:hsl(var(--destructive) / .1)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-emerald-500\/10:hover{background-color:#10b9811a}.hover\:bg-foreground\/10:hover{background-color:hsl(var(--foreground) / .1)}.hover\:bg-foreground\/15:hover{background-color:hsl(var(--foreground) / .15)}.hover\:bg-foreground\/50:hover{background-color:hsl(var(--foreground) / .5)}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:bg-gray-900:hover{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.hover\:bg-gray-900\/40:hover{background-color:#11182766}.hover\:bg-gray-900\/50:hover{background-color:#11182780}.hover\:bg-green-500\/10:hover{background-color:#22c55e1a}.hover\:bg-lime-400:hover{--tw-bg-opacity:1;background-color:rgb(163 230 53/var(--tw-bg-opacity,1))}.hover\:bg-muted:hover{--tw-bg-opacity:1;background-color:hsl(var(--muted) / var(--tw-bg-opacity,1))}.hover\:bg-muted\/20:hover{background-color:hsl(var(--muted) / .2)}.hover\:bg-muted\/30:hover{background-color:hsl(var(--muted) / .3)}.hover\:bg-muted\/40:hover{background-color:hsl(var(--muted) / .4)}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted) / .5)}.hover\:bg-muted\/60:hover{background-color:hsl(var(--muted) / .6)}.hover\:bg-muted\/70:hover{background-color:hsl(var(--muted) / .7)}.hover\:bg-muted\/80:hover{background-color:hsl(var(--muted) / .8)}.hover\:bg-orange-500\/10:hover{background-color:#f973161a}.hover\:bg-orange-500\/15:hover{background-color:#f9731626}.hover\:bg-orange-700:hover{--tw-bg-opacity:1;background-color:rgb(194 65 12/var(--tw-bg-opacity,1))}.hover\:bg-primary:hover{--tw-bg-opacity:1;background-color:hsl(var(--primary) / var(--tw-bg-opacity,1))}.hover\:bg-primary\/10:hover{background-color:hsl(var(--primary) / .1)}.hover\:bg-primary\/20:hover{background-color:hsl(var(--primary) / .2)}.hover\:bg-primary\/5:hover{background-color:hsl(var(--primary) / .05)}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary) / .8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-purple-500\/10:hover{background-color:#a855f71a}.hover\:bg-purple-600:hover{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.hover\:bg-red-500\/10:hover{background-color:#ef44441a}.hover\:bg-secondary:hover{--tw-bg-opacity:1;background-color:hsl(var(--secondary) / var(--tw-bg-opacity,1))}.hover\:bg-sidebar-accent:hover{--tw-bg-opacity:1;background-color:hsl(var(--sidebar-accent) / var(--tw-bg-opacity,1))}.hover\:bg-transparent:hover{background-color:#0000}.hover\:bg-white\/10:hover{background-color:#ffffff1a}.hover\:bg-white\/15:hover{background-color:#ffffff26}.hover\:bg-white\/20:hover{background-color:#fff3}.hover\:bg-white\/5:hover{background-color:#ffffff0d}.hover\:bg-white\/\[0\.04\]:hover{background-color:#ffffff0a}.hover\:bg-white\/\[0\.06\]:hover{background-color:#ffffff0f}.hover\:bg-white\/\[0\.08\]:hover{background-color:#ffffff14}.hover\:bg-zinc-800:hover{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity,1))}.hover\:from-\[\#c8ff00\]\/25:hover{--tw-gradient-from:#c8ff0040 var(--tw-gradient-from-position);--tw-gradient-to:#c8ff0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.hover\:text-\[\#b8e600\]:hover{--tw-text-opacity:1;color:rgb(184 230 0/var(--tw-text-opacity,1))}.hover\:text-\[\#c8ff00\]:hover{--tw-text-opacity:1;color:rgb(200 255 0/var(--tw-text-opacity,1))}.hover\:text-\[\#ccff00\]:hover{--tw-text-opacity:1;color:rgb(204 255 0/var(--tw-text-opacity,1))}.hover\:text-black:hover{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.hover\:text-destructive:hover{--tw-text-opacity:1;color:hsl(var(--destructive) / var(--tw-text-opacity,1))}.hover\:text-emerald-300:hover{--tw-text-opacity:1;color:rgb(110 231 183/var(--tw-text-opacity,1))}.hover\:text-foreground:hover{--tw-text-opacity:1;color:hsl(var(--foreground) / var(--tw-text-opacity,1))}.hover\:text-gray-200:hover{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.hover\:text-gray-300:hover{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.hover\:text-green-300:hover{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.hover\:text-primary:hover{--tw-text-opacity:1;color:hsl(var(--primary) / var(--tw-text-opacity,1))}.hover\:text-primary-foreground:hover{--tw-text-opacity:1;color:hsl(var(--primary-foreground) / var(--tw-text-opacity,1))}.hover\:text-primary-foreground\/70:hover{color:hsl(var(--primary-foreground) / .7)}.hover\:text-primary\/70:hover{color:hsl(var(--primary) / .7)}.hover\:text-primary\/80:hover{color:hsl(var(--primary) / .8)}.hover\:text-red-200:hover{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.hover\:text-red-300:hover{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.hover\:text-red-400:hover{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.hover\:text-sidebar-accent-foreground:hover{--tw-text-opacity:1;color:hsl(var(--sidebar-accent-foreground) / var(--tw-text-opacity,1))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:text-white\/40:hover{color:#fff6}.hover\:text-white\/50:hover{color:#ffffff80}.hover\:text-white\/60:hover{color:#fff9}.hover\:text-white\/70:hover{color:#ffffffb3}.hover\:text-white\/80:hover{color:#fffc}.hover\:text-zinc-100:hover{--tw-text-opacity:1;color:rgb(244 244 245/var(--tw-text-opacity,1))}.hover\:text-zinc-400:hover{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:decoration-primary:hover{-webkit-text-decoration-color:hsl(var(--primary) / 1);text-decoration-color:hsl(var(--primary) / 1)}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover{--tw-shadow:0 0 0 1px hsl(var(--sidebar-accent));--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.hover\:shadow-\[0_0_15px_rgba\(204\,255\,0\,0\.04\)\]:hover{--tw-shadow:0 0 15px #ccff000a;--tw-shadow-colored:0 0 15px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.hover\:shadow-\[0_4px_16px_rgba\(0\,0\,0\,0\.06\)\]:hover{--tw-shadow:0 4px 16px #0000000f;--tw-shadow-colored:0 4px 16px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.hover\:shadow-\[0_8px_30px_rgba\(0\,0\,0\,0\.06\)\]:hover{--tw-shadow:0 8px 30px #0000000f;--tw-shadow-colored:0 8px 30px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.hover\:shadow-sm:hover{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.hover\:shadow-black\/10:hover{--tw-shadow-color:#0000001a;--tw-shadow:var(--tw-shadow-colored)}.hover\:ring-1:hover{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.hover\:ring-2:hover{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.hover\:ring-muted:hover{--tw-ring-opacity:1;--tw-ring-color:hsl(var(--muted) / var(--tw-ring-opacity,1))}.hover\:ring-primary\/30:hover{--tw-ring-color:hsl(var(--primary) / .3)}.hover\:ring-primary\/50:hover{--tw-ring-color:hsl(var(--primary) / .5)}.hover\:after\:bg-sidebar-border:hover:after{content:var(--tw-content);--tw-bg-opacity:1;background-color:hsl(var(--sidebar-border) / var(--tw-bg-opacity,1))}.focus\:translate-y-0:focus{--tw-translate-y:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.focus\:border-\[\#ccff00\]\/40:focus{border-color:#cf06}.focus\:border-primary:focus{--tw-border-opacity:1;border-color:hsl(var(--primary) / var(--tw-border-opacity,1))}.focus\:border-primary\/30:focus{border-color:hsl(var(--primary) / .3)}.focus\:border-primary\/40:focus{border-color:hsl(var(--primary) / .4)}.focus\:border-primary\/50:focus{border-color:hsl(var(--primary) / .5)}.focus\:bg-accent:focus{--tw-bg-opacity:1;background-color:hsl(var(--accent) / var(--tw-bg-opacity,1))}.focus\:bg-background:focus{--tw-bg-opacity:1;background-color:hsl(var(--background) / var(--tw-bg-opacity,1))}.focus\:text-accent-foreground:focus{--tw-text-opacity:1;color:hsl(var(--accent-foreground) / var(--tw-text-opacity,1))}.focus\:text-destructive:focus{--tw-text-opacity:1;color:hsl(var(--destructive) / var(--tw-text-opacity,1))}.focus\:opacity-100:focus{opacity:1}.focus\:outline-none:focus{outline-offset:2px;outline:2px solid #0000}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus\:ring-\[\#ccff00\]\/10:focus{--tw-ring-color:#ccff001a}.focus\:ring-\[\#ccff00\]\/30:focus{--tw-ring-color:#ccff004d}.focus\:ring-primary\/30:focus{--tw-ring-color:hsl(var(--primary) / .3)}.focus\:ring-primary\/40:focus{--tw-ring-color:hsl(var(--primary) / .4)}.focus\:ring-ring:focus{--tw-ring-opacity:1;--tw-ring-color:hsl(var(--ring) / var(--tw-ring-opacity,1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:border-primary\/60:focus-visible{border-color:hsl(var(--primary) / .6)}.focus-visible\:outline-none:focus-visible{outline-offset:2px;outline:2px solid #0000}.focus-visible\:ring-0:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-primary:focus-visible{--tw-ring-opacity:1;--tw-ring-color:hsl(var(--primary) / var(--tw-ring-opacity,1))}.focus-visible\:ring-primary\/40:focus-visible{--tw-ring-color:hsl(var(--primary) / .4)}.focus-visible\:ring-ring:focus-visible{--tw-ring-opacity:1;--tw-ring-color:hsl(var(--ring) / var(--tw-ring-opacity,1))}.focus-visible\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:hsl(var(--background) / 1)}.active\:scale-95:active{--tw-scale-x:.95;--tw-scale-y:.95;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-\[0\.98\]:active{--tw-scale-x:.98;--tw-scale-y:.98;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-\[0\.99\]:active{--tw-scale-x:.99;--tw-scale-y:.99;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:cursor-grabbing:active{cursor:grabbing}.active\:bg-muted:active{--tw-bg-opacity:1;background-color:hsl(var(--muted) / var(--tw-bg-opacity,1))}.active\:bg-sidebar-accent:active{--tw-bg-opacity:1;background-color:hsl(var(--sidebar-accent) / var(--tw-bg-opacity,1))}.active\:text-sidebar-accent-foreground:active{--tw-text-opacity:1;color:hsl(var(--sidebar-accent-foreground) / var(--tw-text-opacity,1))}.active\:shadow-none:active{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.group\/menu-item:focus-within .group-focus-within\/menu-item\:opacity-100{opacity:1}.group:hover .group-hover\:flex{display:flex}.group:hover .group-hover\:hidden{display:none}.group:hover .group-hover\:-translate-y-1{--tw-translate-y:-.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-1{--tw-translate-x:.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/tile:hover .group-hover\/tile\:scale-\[1\.03\]{--tw-scale-x:1.03;--tw-scale-y:1.03;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:bg-\[\#ccff00\]{--tw-bg-opacity:1;background-color:rgb(204 255 0/var(--tw-bg-opacity,1))}.group:hover .group-hover\:bg-\[\#ccff00\]\/20{background-color:#cf03}.group:hover .group-hover\:bg-black\/40{background-color:#0006}.group:hover .group-hover\:bg-muted\/50{background-color:hsl(var(--muted) / .5)}.group:hover .group-hover\:text-\[\#ccff00\]{--tw-text-opacity:1;color:rgb(204 255 0/var(--tw-text-opacity,1))}.group:hover .group-hover\:text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.group:hover .group-hover\:text-black\/60{color:#0009}.group:hover .group-hover\:text-muted-foreground\/60{color:hsl(var(--muted-foreground) / .6)}.group:hover .group-hover\:text-primary{--tw-text-opacity:1;color:hsl(var(--primary) / var(--tw-text-opacity,1))}.group\/card:hover .group-hover\/card\:opacity-0{opacity:0}.group\/card:hover .group-hover\/card\:opacity-100,.group\/column:hover .group-hover\/column\:opacity-100,.group\/menu-item:hover .group-hover\/menu-item\:opacity-100,.group\/prompt:hover .group-hover\/prompt\:opacity-100,.group\/row:hover .group-hover\/row\:opacity-100,.group\/skill:hover .group-hover\/skill\:opacity-100,.group\/tile:hover .group-hover\/tile\:opacity-100,.group:hover .group-hover\:opacity-100,.group\/tile:focus-visible .group-focus-visible\/tile\:opacity-100{opacity:1}.group.destructive .group-\[\.destructive\]\:border-muted\/40{border-color:hsl(var(--muted) / .4)}.group.destructive .group-\[\.destructive\]\:text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover{border-color:hsl(var(--destructive) / .3)}.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover{--tw-bg-opacity:1;background-color:hsl(var(--destructive) / var(--tw-bg-opacity,1))}.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover{--tw-text-opacity:1;color:hsl(var(--destructive-foreground) / var(--tw-text-opacity,1))}.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover{--tw-text-opacity:1;color:rgb(254 242 242/var(--tw-text-opacity,1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus{--tw-ring-opacity:1;--tw-ring-color:hsl(var(--destructive) / var(--tw-ring-opacity,1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(248 113 113/var(--tw-ring-opacity,1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus{--tw-ring-offset-color:#dc2626}.peer\/menu-button:hover~.peer-hover\/menu-button\:text-sidebar-accent-foreground{--tw-text-opacity:1;color:hsl(var(--sidebar-accent-foreground) / var(--tw-text-opacity,1))}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.has-\[\:disabled\]\:opacity-50:has(:disabled){opacity:.5}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true],.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:-.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:-.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=checked\]\:translate-x-5[data-state=checked]{--tw-translate-x:1.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked],.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel]{--tw-translate-x:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{--tw-translate-x:var(--radix-toast-swipe-end-x);transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{--tw-translate-x:var(--radix-toast-swipe-move-x);transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[active\=true\]\:bg-sidebar-accent[data-active=true]{--tw-bg-opacity:1;background-color:hsl(var(--sidebar-accent) / var(--tw-bg-opacity,1))}.data-\[selected\=\'true\'\]\:bg-accent[data-selected=true]{--tw-bg-opacity:1;background-color:hsl(var(--accent) / var(--tw-bg-opacity,1))}.data-\[state\=active\]\:bg-background[data-state=active]{--tw-bg-opacity:1;background-color:hsl(var(--background) / var(--tw-bg-opacity,1))}.data-\[state\=checked\]\:bg-primary[data-state=checked]{--tw-bg-opacity:1;background-color:hsl(var(--primary) / var(--tw-bg-opacity,1))}.data-\[state\=open\]\:bg-accent[data-state=open]{--tw-bg-opacity:1;background-color:hsl(var(--accent) / var(--tw-bg-opacity,1))}.data-\[state\=open\]\:bg-secondary[data-state=open]{--tw-bg-opacity:1;background-color:hsl(var(--secondary) / var(--tw-bg-opacity,1))}.data-\[state\=selected\]\:bg-muted[data-state=selected]{--tw-bg-opacity:1;background-color:hsl(var(--muted) / var(--tw-bg-opacity,1))}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{--tw-bg-opacity:1;background-color:hsl(var(--input) / var(--tw-bg-opacity,1))}.data-\[active\=true\]\:font-medium[data-active=true]{font-weight:500}.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active=true]{--tw-text-opacity:1;color:hsl(var(--sidebar-accent-foreground) / var(--tw-text-opacity,1))}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{--tw-text-opacity:1;color:hsl(var(--muted-foreground) / var(--tw-text-opacity,1))}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{--tw-text-opacity:1;color:hsl(var(--accent-foreground) / var(--tw-text-opacity,1))}.data-\[state\=active\]\:text-foreground[data-state=active]{--tw-text-opacity:1;color:hsl(var(--foreground) / var(--tw-text-opacity,1))}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{--tw-text-opacity:1;color:hsl(var(--primary-foreground) / var(--tw-text-opacity,1))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{--tw-text-opacity:1;color:hsl(var(--muted-foreground) / var(--tw-text-opacity,1))}.data-\[disabled\=true\]\:opacity-50[data-disabled=true],.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=active\]\:shadow-sm[data-state=active]{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.data-\[swipe\=move\]\:transition-none[data-swipe=move]{transition-property:none}.data-\[state\=closed\]\:duration-150[data-state=closed]{transition-duration:.15s}.data-\[state\=closed\]\:duration-200[data-state=closed]{transition-duration:.2s}.data-\[state\=open\]\:duration-300[data-state=open]{transition-duration:.3s}.data-\[state\=open\]\:animate-in[data-state=open]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.data-\[state\=closed\]\:animate-out[data-state=closed],.data-\[swipe\=end\]\:animate-out[data-swipe=end]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:fade-out-80[data-state=closed]{--tw-exit-opacity:.8}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:.5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:.5rem}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x:-50%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed],.data-\[state\=closed\]\:slide-out-to-right-full[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open],.data-\[state\=open\]\:slide-in-from-bottom-full[data-state=open]{--tw-enter-translate-y:100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x:-50%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y:-48%}.data-\[state\=closed\]\:duration-150[data-state=closed]{animation-duration:.15s}.data-\[state\=closed\]\:duration-200[data-state=closed]{animation-duration:.2s}.data-\[state\=open\]\:duration-300[data-state=open]{animation-duration:.3s}.data-\[state\=open\]\:hover\:bg-sidebar-accent:hover[data-state=open]{--tw-bg-opacity:1;background-color:hsl(var(--sidebar-accent) / var(--tw-bg-opacity,1))}.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground:hover[data-state=open]{--tw-text-opacity:1;color:hsl(var(--sidebar-accent-foreground) / var(--tw-text-opacity,1))}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\-1\)\]{left:calc(var(--sidebar-width) * -1)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\-1\)\]{right:calc(var(--sidebar-width) * -1)}.group[data-side=left] .group-data-\[side\=left\]\:-right-4{right:-1rem}.group[data-side=right] .group-data-\[side\=right\]\:left-0{left:0}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:-mt-8{margin-top:-2rem}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:hidden{display:none}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+var\(--spacing-4\)\)\]{width:calc(var(--sidebar-width-icon) + var(--spacing-4))}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+var\(--spacing-4\)\+2px\)\]{width:calc(var(--sidebar-width-icon) + var(--spacing-4) + 2px)}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[var\(--sidebar-width-icon\)\]{width:var(--sidebar-width-icon)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:w-0{width:0}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:translate-x-0{--tw-translate-x:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group[data-side=right] .group-data-\[side\=right\]\:rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:overflow-hidden{overflow:hidden}.group[data-variant=floating] .group-data-\[variant\=floating\]\:rounded-lg{border-radius:.5625rem}.group[data-variant=floating] .group-data-\[variant\=floating\]\:border{border-width:1px}.group[data-side=left] .group-data-\[side\=left\]\:border-r{border-right-width:1px}.group[data-side=right] .group-data-\[side\=right\]\:border-l{border-left-width:1px}.group[data-variant=floating] .group-data-\[variant\=floating\]\:border-sidebar-border{--tw-border-opacity:1;border-color:hsl(var(--sidebar-border) / var(--tw-border-opacity,1))}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:opacity-0{opacity:0}.group[data-variant=floating] .group-data-\[variant\=floating\]\:shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:after\:left-full:after{content:var(--tw-content);left:100%}.group[data-collapsible=offcanvas] .hover\:group-data-\[collapsible\=offcanvas\]\:bg-sidebar:hover{--tw-bg-opacity:1;background-color:hsl(var(--sidebar) / var(--tw-bg-opacity,1))}.peer\/menu-button[data-size=default].peer-data-\[size\=default\]\/menu-button\:top-1\.5{top:.375rem}.peer\/menu-button[data-size=lg].peer-data-\[size\=lg\]\/menu-button\:top-2\.5{top:.625rem}.peer\/menu-button[data-size=sm].peer-data-\[size\=sm\]\/menu-button\:top-1{top:.25rem}.peer\/menu-button[data-active=true].peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground{--tw-text-opacity:1;color:hsl(var(--sidebar-accent-foreground) / var(--tw-text-opacity,1))}@supports ((-webkit-backdrop-filter:var(--tw)) or (backdrop-filter:var(--tw))){.supports-\[backdrop-filter\]\:bg-background\/80{background-color:hsl(var(--background) / .8)}}.dark\:block:is(.dark *){display:block}.dark\:hidden:is(.dark *){display:none}.dark\:border-\[\#ccff00\]\/20:is(.dark *){border-color:#cf03}.dark\:border-amber-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(146 64 14/var(--tw-border-opacity,1))}.dark\:border-blue-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(29 78 216/var(--tw-border-opacity,1))}.dark\:border-indigo-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(55 48 163/var(--tw-border-opacity,1))}.dark\:border-red-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity,1))}.dark\:border-yellow-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(161 98 7/var(--tw-border-opacity,1))}.dark\:bg-\[\#ccff00\]\/5:is(.dark *){background-color:#ccff000d}.dark\:bg-amber-950\/30:is(.dark *){background-color:#451a034d}.dark\:bg-blue-900\/20:is(.dark *){background-color:#1e3a8a33}.dark\:bg-blue-900\/30:is(.dark *){background-color:#1e3a8a4d}.dark\:bg-blue-950\/30:is(.dark *){background-color:#1725544d}.dark\:bg-emerald-900\/30:is(.dark *){background-color:#064e3b4d}.dark\:bg-gray-900\/30:is(.dark *){background-color:#1118274d}.dark\:bg-green-900\/30:is(.dark *){background-color:#14532d4d}.dark\:bg-indigo-900\/30:is(.dark *){background-color:#312e814d}.dark\:bg-indigo-950\/30:is(.dark *){background-color:#1e1b4b4d}.dark\:bg-orange-900\/30:is(.dark *){background-color:#7c2d124d}.dark\:bg-purple-900\/30:is(.dark *){background-color:#581c874d}.dark\:bg-red-900\/30:is(.dark *){background-color:#7f1d1d4d}.dark\:bg-red-950\/30:is(.dark *){background-color:#450a0a4d}.dark\:bg-slate-900\/30:is(.dark *){background-color:#0f172a4d}.dark\:bg-white\/\[0\.04\]:is(.dark *){background-color:#ffffff0a}.dark\:bg-yellow-900\/20:is(.dark *){background-color:#713f1233}.dark\:from-indigo-950\/30:is(.dark *){--tw-gradient-from:#1e1b4b4d var(--tw-gradient-from-position);--tw-gradient-to:#1e1b4b00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.dark\:to-purple-950\/30:is(.dark *){--tw-gradient-to:#3b07644d var(--tw-gradient-to-position)}.dark\:text-amber-300:is(.dark *){--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.dark\:text-amber-400:is(.dark *){--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.dark\:text-blue-200:is(.dark *){--tw-text-opacity:1;color:rgb(191 219 254/var(--tw-text-opacity,1))}.dark\:text-blue-300:is(.dark *){--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity,1))}.dark\:text-blue-400:is(.dark *){--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.dark\:text-emerald-300:is(.dark *){--tw-text-opacity:1;color:rgb(110 231 183/var(--tw-text-opacity,1))}.dark\:text-emerald-400:is(.dark *){--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.dark\:text-gray-300:is(.dark *){--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.dark\:text-green-300:is(.dark *){--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.dark\:text-indigo-300:is(.dark *){--tw-text-opacity:1;color:rgb(165 180 252/var(--tw-text-opacity,1))}.dark\:text-orange-300:is(.dark *){--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity,1))}.dark\:text-purple-300:is(.dark ){--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity,1))}.dark\:text-red-300:is(.dark ){--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.dark\:text-sky-300:is(.dark ){--tw-text-opacity:1;color:rgb(125 211 252/var(--tw-text-opacity,1))}.dark\:text-slate-300:is(.dark ){--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.dark\:text-violet-300:is(.dark ){--tw-text-opacity:1;color:rgb(196 181 253/var(--tw-text-opacity,1))}.dark\:text-yellow-200:is(.dark ){--tw-text-opacity:1;color:rgb(254 240 138/var(--tw-text-opacity,1))}.dark\:text-yellow-300:is(.dark ){--tw-text-opacity:1;color:rgb(253 224 71/var(--tw-text-opacity,1))}.dark\:text-yellow-400:is(.dark ){--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity,1))}.dark\:after\:border-white\/10:is(.dark ):after{content:var(--tw-content);border-color:#ffffff1a}.dark\:hover\:bg-white\/5:hover:is(.dark ){background-color:#ffffff0d}@media (min-width:640px){.sm\:right-0{right:0}.sm\:ml-1\.5{margin-left:.375rem}.sm\:ml-auto{margin-left:auto}.sm\:mr-1\.5{margin-right:.375rem}.sm\:mt-0{margin-top:0}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:flex{display:flex}.sm\:inline-flex{display:inline-flex}.sm\:table-cell{display:table-cell}.sm\:hidden{display:none}.sm\:h-10{height:2.5rem}.sm\:h-12{height:3rem}.sm\:h-16{height:4rem}.sm\:h-20{height:5rem}.sm\:h-3\.5{height:.875rem}.sm\:h-32{height:8rem}.sm\:h-4{height:1rem}.sm\:h-8{height:2rem}.sm\:h-\[300px\]{height:300px}.sm\:max-h-\[300px\]{max-height:300px}.sm\:max-h-\[320px\]{max-height:320px}.sm\:max-h-\[90vh\]{max-height:90vh}.sm\:min-h-0{min-height:0}.sm\:min-h-\[120px\]{min-height:120px}.sm\:min-h-\[150px\]{min-height:150px}.sm\:min-h-\[200px\]{min-height:200px}.sm\:min-h-\[60px\]{min-height:60px}.sm\:w-12{width:3rem}.sm\:w-14{width:3.5rem}.sm\:w-16{width:4rem}.sm\:w-20{width:5rem}.sm\:w-3\.5{width:.875rem}.sm\:w-4{width:1rem}.sm\:w-48{width:12rem}.sm\:w-60{width:15rem}.sm\:w-8{width:2rem}.sm\:w-\[540px\]{width:540px}.sm\:w-\[95vw\]{width:95vw}.sm\:w-auto{width:auto}.sm\:min-w-\[140px\]{min-width:140px}.sm\:max-w-2xl{max-width:42rem}.sm\:max-w-3xl{max-width:48rem}.sm\:max-w-lg{max-width:32rem}.sm\:max-w-md{max-width:28rem}.sm\:max-w-sm{max-width:24rem}.sm\:max-w-xs{max-width:20rem}.sm\:flex-none{flex:none}.sm\:columns-3{columns:3}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.sm\:grid-cols-\[160px_1fr\]{grid-template-columns:160px 1fr}.sm\:flex-row{flex-direction:row}.sm\:flex-wrap{flex-wrap:wrap}.sm\:items-center{align-items:center}.sm\:justify-start{justify-content:flex-start}.sm\:justify-end{justify-content:flex-end}.sm\:justify-between{justify-content:space-between}.sm\:gap-0{gap:0}.sm\:gap-2{gap:.5rem}.sm\:gap-3{gap:.75rem}.sm\:gap-4{gap:1rem}.sm\:gap-5{gap:1.25rem}.sm\:space-x-2\u003e:not([hidden]):not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-\[2rem\]{border-radius:2rem}.sm\:rounded-lg{border-radius:.5625rem}.sm\:p-1{padding:.25rem}.sm\:p-4{padding:1rem}.sm\:p-5{padding:1.25rem}.sm\:p-6{padding:1.5rem}.sm\:p-8{padding:2rem}.sm\:px-12{padding-left:3rem;padding-right:3rem}.sm\:px-3{padding-left:.75rem;padding-right:.75rem}.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:px-5{padding-left:1.25rem;padding-right:1.25rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.sm\:py-16{padding-top:4rem;padding-bottom:4rem}.sm\:py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.sm\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.sm\:pb-0{padding-bottom:0}.sm\:pt-6{padding-top:1.5rem}.sm\:text-left{text-align:left}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-5xl{font-size:3rem;line-height:1}.sm\:text-\[14rem\]{font-size:14rem}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:text-xl{font-size:1.25rem;line-height:1.75rem}.sm\:text-xs{font-size:.75rem;line-height:1rem}.sm\:opacity-0{opacity:0}.group\/content:hover .sm\:group-hover\/content\:opacity-100{opacity:1}}@media (min-width:768px){.md\:order-1{order:1}.md\:order-2{order:2}.md\:col-span-1{grid-column:span 1/span 1}.md\:col-span-2{grid-column:span 2/span 2}.md\:row-span-1{grid-row:span 1/span 1}.md\:row-span-3{grid-row:span 3/span 3}.md\:my-4{margin-top:1rem;margin-bottom:1rem}.md\:mb-6{margin-bottom:1.5rem}.md\:block{display:block}.md\:flex{display:flex}.md\:inline-flex{display:inline-flex}.md\:table-cell{display:table-cell}.md\:hidden{display:none}.md\:h-12{height:3rem}.md\:h-16{height:4rem}.md\:h-20{height:5rem}.md\:h-5{height:1.25rem}.md\:h-6{height:1.5rem}.md\:h-7{height:1.75rem}.md\:h-8{height:2rem}.md\:h-9{height:2.25rem}.md\:h-\[90vh\]{height:90vh}.md\:h-auto{height:auto}.md\:max-h-\[90vh\]{max-height:90vh}.md\:min-h-10{min-height:2.5rem}.md\:min-h-8{min-height:2rem}.md\:min-h-9{min-height:2.25rem}.md\:w-12{width:3rem}.md\:w-20{width:5rem}.md\:w-5{width:1.25rem}.md\:w-6{width:1.5rem}.md\:w-7{width:1.75rem}.md\:w-8{width:2rem}.md\:w-9{width:2.25rem}.md\:max-w-\[420px\]{max-width:420px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.md\:grid-cols-\[1fr_minmax\(340px\,420px\)\]{grid-template-columns:1fr minmax(340px,420px)}.md\:grid-cols-\[220px_1fr\]{grid-template-columns:220px 1fr}.md\:grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.md\:grid-rows-3{grid-template-rows:repeat(3,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:gap-4{gap:1rem}.md\:rounded-2xl{border-radius:1rem}.md\:rounded-xl{border-radius:.75rem}.md\:border{border-width:1px}.md\:border-b-0{border-bottom-width:0}.md\:border-l{border-left-width:1px}.md\:border-r{border-right-width:1px}.md\:border-t-0{border-top-width:0}.md\:p-10{padding:2.5rem}.md\:p-16{padding:4rem}.md\:p-4{padding:1rem}.md\:p-6{padding:1.5rem}.md\:p-8{padding:2rem}.md\:px-12{padding-left:3rem;padding-right:3rem}.md\:px-2{padding-left:.5rem;padding-right:.5rem}.md\:px-5{padding-left:1.25rem;padding-right:1.25rem}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.md\:py-20{padding-top:5rem;padding-bottom:5rem}.md\:py-24{padding-top:6rem;padding-bottom:6rem}.md\:py-28{padding-top:7rem;padding-bottom:7rem}.md\:py-32{padding-top:8rem;padding-bottom:8rem}.md\:py-40{padding-top:10rem;padding-bottom:10rem}.md\:pb-0{padding-bottom:0}.md\:pb-20{padding-bottom:5rem}.md\:pb-32{padding-bottom:8rem}.md\:pb-4{padding-bottom:1rem}.md\:pb-6{padding-bottom:1.5rem}.md\:pt-36{padding-top:9rem}.md\:pt-44{padding-top:11rem}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-6xl{font-size:3.75rem;line-height:1}.md\:text-7xl{font-size:4.5rem;line-height:1}.md\:text-8xl{font-size:6rem;line-height:1}.md\:text-\[10px\]{font-size:10px}.md\:text-\[11px\]{font-size:11px}.md\:text-\[18rem\]{font-size:18rem}.md\:text-base{font-size:1rem;line-height:1.5rem}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}.md\:leading-\[1\.15\]{line-height:1.15}.md\:opacity-0{opacity:0}.md\:after\:hidden:after{content:var(--tw-content);display:none}.peer[data-variant=inset].md\:peer-data-\[variant\=inset\]\:m-2{margin:.5rem}.peer[data-variant=inset].md\:peer-data-\[variant\=inset\]\:ml-0{margin-left:0}.peer[data-variant=inset][data-state=collapsed].md\:peer-data-\[variant\=inset\]\:peer-data-\[state\=collapsed\]\:ml-2{margin-left:.5rem}.peer[data-variant=inset].md\:peer-data-\[variant\=inset\]\:rounded-xl{border-radius:.75rem}.peer[data-variant=inset].md\:peer-data-\[variant\=inset\]\:shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}}@media (min-width:1024px){.lg\:sticky{position:sticky}.lg\:top-20{top:5rem}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:col-span-9{grid-column:span 9/span 9}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:grid{display:grid}.lg\:hidden{display:none}.lg\:w-\[380px\]{width:380px}.lg\:scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lg\:columns-4{columns:4}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:grid-cols-\[1fr_280px\]{grid-template-columns:1fr 280px}.lg\:grid-cols-\[1fr_400px\]{grid-template-columns:1fr 400px}.lg\:grid-cols-\[minmax\(0\,1fr\)_240px\]{grid-template-columns:minmax(0,1fr) 240px}.lg\:flex-row{flex-direction:row}.lg\:justify-start{justify-content:flex-start}.lg\:gap-12{gap:3rem}.lg\:gap-24{gap:6rem}.lg\:border-l{border-left-width:1px}.lg\:border-t-0{border-top-width:0}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:py-0{padding-top:0;padding-bottom:0}.lg\:text-left{text-align:left}.lg\:text-5xl{font-size:3rem;line-height:1}.lg\:text-6xl{font-size:3.75rem;line-height:1}.lg\:text-7xl{font-size:4.5rem;line-height:1}}@media (min-width:1280px){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.xl\:px-24{padding-left:6rem;padding-right:6rem}.xl\:text-4xl{font-size:2.25rem;line-height:2.5rem}}@media print{.print\:hidden{display:none}}.\[\\u0026\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\\u0026\\u003e\\]\:mb-3\u003e{margin-bottom:.75rem}.\[\\u0026\\u003e\\]\:break-inside-avoid\u003e{break-inside:avoid}.\[\\u0026\\u003ebutton\]\:hidden\u003ebutton{display:none}.\[\\u0026\\u003espan\:last-child\]\:truncate\u003espan:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.\[\\u0026\\u003espan\]\:line-clamp-1\u003espan{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\[\\u0026\\u003esvg\]\:size-4\u003esvg{width:1rem;height:1rem}.\[\\u0026\\u003esvg\]\:h-3\u003esvg{height:.75rem}.\[\\u0026\\u003esvg\]\:h-4\u003esvg{height:1rem}.\[\\u0026\\u003esvg\]\:w-3\u003esvg{width:.75rem}.\[\\u0026\\u003esvg\]\:w-4\u003esvg{width:1rem}.\[\\u0026\\u003esvg\]\:shrink-0\u003esvg{flex-shrink:0}.\[\\u0026\\u003esvg\]\:text-sidebar-accent-foreground\u003esvg{--tw-text-opacity:1;color:hsl(var(--sidebar-accent-foreground) / var(--tw-text-opacity,1))}.\[\\u0026\\u003etr\]\:last\:border-b-0:last-child\u003etr{border-bottom-width:0}.\[\\u0026\[data-active\]\]\:border-\[\#ccff00\]\/40[data-active]{border-color:#cf06}.\[\\u0026\[data-active\]\]\:ring-2[data-active]{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.\[\\u0026\[data-active\]\]\:ring-\[\#ccff00\]\/40[data-active]{--tw-ring-color:#cf06}.\[\\u0026_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\[\\u0026_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-top:.375rem;padding-bottom:.375rem}.\[\\u0026_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\[\\u0026_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.\[\\u0026_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{--tw-text-opacity:1;color:hsl(var(--muted-foreground) / var(--tw-text-opacity,1))}.\[\\u0026_\[cmdk-group\]\:not\(\[hidden\]\)\\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])[cmdk-group]{padding-top:0}.\[\\u0026\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.\[\\u0026_\[cmdk-input-wrapper\]svg\]\:h-5 [cmdk-input-wrapper] svg{height:1.25rem}.\[\\u0026\[cmdk-input-wrapper\]svg\]\:w-5 [cmdk-input-wrapper] svg{width:1.25rem}.\[\\u0026\[cmdk-input\]\]\:h-12 [cmdk-input]{height:3rem}.\[\\u0026_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.\[\\u0026_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-top:.75rem;padding-bottom:.75rem}.\[\\u0026_\[cmdk-item\]svg\]\:h-5 [cmdk-item] svg{height:1.25rem}.\[\\u0026\[cmdk-item\]svg\]\:w-5 [cmdk-item] svg{width:1.25rem}.\[\\u0026_svg\]\:pointer-events-none svg{pointer-events:none}.\[\\u0026_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\\u0026_svg\]\:shrink-0 svg{flex-shrink:0}.\[\\u0026_tr\:last-child\]\:border-0 tr:last-child{border-width:0}.\[\\u0026_tr\]\:border-b tr{border-bottom-width:1px}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]\\u0026\]\:-right-2{right:-.5rem}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]\\u0026\]\:cursor-e-resize{cursor:e-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]\\u0026\]\:-left-2{left:-.5rem}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\\u0026\]\:cursor-w-resize{cursor:w-resize}\n/# sourceMappingURL=0acly5yvra9cs.css.map/"])-T-KAq__variable","suppressHydrationWarning":true,"children":[["$","head",null,{"children":[["$","link",null,{"rel":"preload","href":"/fonts/Satoshi-Regular.woff2","as":"font","type":"font/woff2","crossOrigin":"anonymous"}],["$","link",null,{"rel":"preload","href":"/fonts/Satoshi-Bold.woff2","as":"font","type":"font/woff2","crossOrigin":"anonymous"}],["$","link",null,{"rel":"dns-prefetch","href":"https://prompt2love-public.fsn1.your-objectstorage.com"}],["$","link",null,{"rel":"dns-prefetch","href":"https://api.polar.sh"}],["$","link",null,{"rel":"preconnect","href":"https://www.googletagmanager.com","crossOrigin":"anonymous"}],["$","link",null,{"rel":"preconnect","href":"https://web-sdk.smartlook.com","crossOrigin":"anonymous"}],["$","link",null,{"rel":"dns-prefetch","href":"https://www.google-analytics.com"}]]}],["$","body",null,{"className":"font-sans antialiased bg-background text-foreground","children":[["$","a",null,{"href":"#main","className":"absolute left-2 top-2 z-[100] -translate-y-20 focus:translate-y-0 transition-transform bg-primary text-primary-foreground px-4 py-2 rounded-md text-sm font-medium","children":"Skip to main content"}],"$L1f"]}]]}]\n1c:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","2",{"name":"theme-color","content":"#ffffff","media":"(prefers-color-scheme: light)"}],["$","meta","3",{"name":"theme-color","content":"#0a0a0a","media":"(prefers-color-scheme: dark)"}]]\n"]) posts","noPublicPrompts":"No public prompts","noPublicSkills":"No public skills","noFollowers":"No followers","notFollowingAnyone":"Not following anyone","noActivity":"No activity yet","activityLiked":"Liked {target}","activitySaved":"Saved {target}","activityCommented":"Commented on {target}","activityFollows":"Follows {target}","profileSaved":"Profile saved","profileSaveFailed":"Could not save profile.","pleaseSignIn":"Please sign in.","loggingOut":"Logging out...","signOut":"Sign Out","share":"Share","linkCopied":"Link copied"},"settings":{"title":"Settings","seoTitle":"Settings · Prompt2Love","planFree":"Free","planStandard":"Pro","planTeams":"Teams","planFreeDesc":"Perfect to start","planStandardDesc":"For productive users","planTeamsDesc":"For teams \u0026 enterprises","featurePrompts50":"30 Prompts","featureSkills10":"10 Skills","featureVarPrompts5":"5 Variable Prompts","featureCommunity":"Community Access","featureVersioning":"Versioning","featurePrioritySupport":"Priority Support","featureTeamCollab":"Team Collaboration","featureUnlimitedPrompts":"Unlimited Prompts","featureUnlimitedSkills":"Unlimited Skills","featureUnlimitedVars":"Unlimited Variables","featureVersioningHistory":"Versioning \u0026 History","featureDedicatedSupport":"Dedicated Support","billingMonthly":"monthly","billingYearly":"yearly","perMonth":"per month","perMonthYearly":"per month, billed yearly","perMonthUser":"per month / user","freeForever":"Free forever","used":"used","unlimited":"Unlimited","subscription":"Subscription \u0026 Billing","refreshStatus":"Refresh Status","currentPlan":"Current Plan","cancelling":"Cancelling","price":"Price","year":"Year","month":"Mo.","activeUntil":"Active until","renewal":"Renewal","memberSince":"Member since","cancelled":"Cancelled","active":"Active","comparePlans":"Compare all plans","monthlyToggle":"Monthly","yearlyToggle":"Yearly","yourPlan":"Your Plan","upgrade":"Upgrade","downgrade":"Downgrade","comingSoon":"Coming Soon","publicProfile":"Public Profile","socialLinks":"Social Media Links","account":"Account","languageLabel":"Language","languageDesc":"App interface language","supportTickets":"Support Tickets","restartTour":"Restart Tour","privacy":"Privacy","analyticsCookies":"Analytics Cookies","marketingCookies":"Marketing Cookies","activeState":"Active","deactivated":"Deactivated","lastChanged":"Last changed:","changeSettings":"Change Settings","onboarding":"Onboarding","restartTourAction":"Restart Tour","restartTourDesc":"Show the welcome tour again...","welcomeToPro":"Welcome to Pro!","tourReset":"Tour reset","statusUpdated":"Status updated","twoMonthsFree":"Save 33%","usage":"Usage","variablePrompts":"Variable Prompts","manage":"Manage","cancelNote":"Cancel anytime - promo code redeemable at checkout - plan changes effective immediately","cancelWarning":"Your subscription expires on {date}. You will have access to all features until then. You can revoke the cancellation in the portal.","usageLabel":"Usage","profileSaved":"Profile saved","profileSavedDesc":"Your profile has been updated.","profileSaveFailed":"Could not save profile.","tourResetDesc":"The welcome tour will be shown again the next time you visit the library.","noActiveSubFound":"No active subscription found. Please contact support.","portalUnavailable":"Portal unavailable","portalFailed":"Could not open portal.","syncFailed":"Sync failed.","welcomeProDesc":"Your upgrade is active. Unlimited prompts, skills, variables and versioning are now available.","checkoutErrorDesc":"Checkout could not be started.","productNotConfigured":"Product not configured.","noActiveSub":"No active subscription found.","socialLinksHint":"Social media links (handle only, no @ or URL)","savingProfile":"Saving...","saveProfile":"Save profile","notifications":"Notifications","notificationsDesc":"Choose which notifications you want to receive.","notifPostLiked":"Someone likes my post","notifPostSaved":"Someone saves my post","notifPostCommented":"Someone comments on my post","notifCommentReply":"Someone replies to my comment","notifCommentLike":"Someone likes my comment","notifNewFollower":"Someone follows me","notifNewPost":"Someone I follow publishes a post","notifMention":"Someone mentions me","notifSaved":"Notification preferences saved","notifSaveBtn":"Save preferences","notifLoginNotification":"Login notifications (new device/location)","sessions":"Active Sessions","sessionsDesc":"These are the devices currently logged into your account.","sessionCurrent":"This device","sessionLastActive":"Last active","sessionLogout":"Log out","sessionLogoutAll":"Log out all other devices","sessionLogoutAllConfirm":"All other sessions have been terminated.","sessionRevoked":"Session terminated","sessionsLoading":"Loading sessions...","sessionsNone":"No active sessions found.","billing":"Billing \u0026 Invoices","invoiceHistory":"Payment History","loadingInvoices":"Loading invoices...","noInvoices":"No invoices yet.","invoiceInitial":"Initial payment","invoiceRenewal":"Renewal","invoiceUpdate":"Plan change","downloadInvoice":"Download invoice","invoiceDownloadFailed":"Could not load invoice.","cancelSubscription":"Cancel","cancelDescription":"You can cancel your subscription at any time. It remains active until the end of the current billing period.","subscriptionEndingSoon":"Subscription ending","reactivate":"Reactivate","subscriptionCancelled":"Subscription cancelled","subscriptionCancelledDesc":"Your plan remains active until the end of the current period.","subscriptionReactivated":"Subscription reactivated","subscriptionExpired":"Plan expired","subscriptionExpiredDesc":"Your plan has expired. Subscribe again to regain access to all features.","resubscribe":"Subscribe again","cancelFailed":"Could not cancel subscription.","reactivateFailed":"Could not reactivate subscription.","cancelConfirmTitle":"Cancel subscription?","cancelConfirmDesc":"Are you sure you want to cancel your subscription?","cancelConfirmWarning":"Your subscription will remain active until {date}. After that, your account will revert to the Free plan.","cancelReasonLabel":"Why are you cancelling? (optional)","cancelReasonSelect":"Please select...","cancelReasonExpensive":"Too expensive","cancelReasonFeature":"Missing feature","cancelReasonNotUsing":"Not using it enough","cancelReasonSwitched":"Switched to another tool","cancelReasonOther":"Other reason","cancelFeedbackLabel":"What could we have done better? (optional)","cancelFeedbackPlaceholder":"Your feedback helps us improve...","saveOfferTitle":"Before you go — a quick offer","saveOfferBody":"We'll give you 3 months of Pro for free. No strings attached:","saveOfferBullet1":"No credit card required","saveOfferBullet2":"No automatic renewal","saveOfferBullet3":"Keep all Pro features","saveOfferBullet4":"Your plan expires naturally after 3 months","saveOfferAccept":"Get 3 months free","saveOfferDecline":"Cancel anyway","saveOfferAccepted":"Bonus activated!","saveOfferAcceptedDesc":"You have 3 months of Pro free until {date}.","confirmCancel":"Yes, cancel","redeemTitle":"Promo Code","redeemPlaceholder":"Enter code...","redeemButton":"Redeem","redeemSuccess":"Code redeemed!","redeemGrantDesc":"Your plan was upgraded to {tier}.","redeemDiscountDesc":"Discount applied. It will be used at your next checkout.","redeemFailed":"Could not redeem code.","redeemInvalidCode":"Invalid code.","redeemCodeInactive":"This code is no longer active.","redeemCodeExpired":"This code has expired.","redeemCodeExhausted":"This code has already been fully redeemed.","redeemAlreadyRedeemed":"You have already redeemed this code.","dataExport":"Export data","dataExportDesc":"Download all your stored data as a ZIP file (GDPR Art. 15 \u0026 Art. 20).","dataExportButton":"Export my data (GDPR)","dataExportLoading":"Generating export...","dataExportRateLimit":"Available once per 24 hours.","dataExportFailed":"Export failed. Please try again later.","dataExportRateLimited":"You have already exported today. Please wait 24 hours.","dangerZone":"Danger Zone","dangerZoneDesc":"Actions here are irreversible. Please proceed carefully.","deleteAccount":"Delete Account","deleteAccountDialogTitle":"Delete Account?","deleteAccountWarning":"Your account will be irreversibly anonymized after 24 hours. Your posts will remain, but your name will be replaced with \"Deleted User\".","deleteAccountConfirmLabel":"I understand that this action cannot be undone","deleteAccountConfirmBtn":"Delete Account","deleteAccountRequesting":"Requesting...","deleteAccountSuccess":"Deletion requested","deleteAccountSuccessDesc":"Your account will be anonymized in 24 hours. You can cancel this until then.","deleteAccountFailed":"Could not request account deletion.","deleteAccountAlreadyRequested":"A deletion has already been requested.","deletionPending":"Deletion scheduled for {date}","deletionPendingDesc":"You have 24 hours to cancel this.","cancelDeletion":"Cancel Deletion","cancelDeletionSuccess":"Deletion cancelled","cancelDeletionSuccessDesc":"Your account will no longer be deleted.","cancelDeletionFailed":"Could not cancel deletion.","exportDataTitle":"Export your data","exportDataDesc":"Download all your prompts, skills, and posts as JSON.","exportDataCta":"Download export"},"marketplace":{"promptTitle":"Discover Prompts","skillTitle":"Discover Skills","searchPromptsPlaceholder":"Search prompts...","searchSkillsPlaceholder":"Search skills...","sortHot":"Hot","sortNew":"New","sortMostForked":"Most forked","sortMostSaved":"Most saved","sortPlaceholder":"Sort","modelPlaceholder":"Model","noPromptsFound":"No prompts found.","noSkillsFound":"No skills found.","noPromptsInCategory":"No prompts in this category yet. Be the first to publish one!","bannerAdSpace":"Banner ad space","contactForAd":"Contact us for advertising","signInToVote":"Please sign in to vote.","backToMarketplace":"Back to overview","promptNotFound":"Prompt not found","promptNotFoundDesc":"This prompt does not exist or is not public.","skillNotFound":"Skill not found","skillNotFoundDesc":"This skill does not exist or is not public.","exampleOutput":"Example Output","instructionsLabel":"Instructions","triggerLabel":"Trigger","fork":"Fork","download":"Save","downloaded":"Saved to library!","share":"Share","forked":"Forked!","forkPromptDesc":"Prompt was copied to your library.","forkSkillDesc":"Skill was copied to your library.","forkFailed":"Fork failed.","pleaseSignIn":"Please sign in","signInToFork":"You must be signed in to fork.","linkCopied":"Link copied!","copiedToClipboard":"Prompt copied to clipboard.","skillCopiedToClipboard":"Skill instructions copied.","promptSeoTitle":"Discover Prompts · Prompt2Love","skillSeoTitle":"Discover Skills · Prompt2Love","promptSeoDesc":"Discover curated AI prompts...","allLanguages":"All Languages","german":"German","english":"English","french":"French","spanish":"Spanish","tryInTool":{"label":"Try this prompt:","ariaLabel":"Open this prompt in {tool}","copiedTitle":"Prompt copied!","copiedDesc":"Paste the prompt in the tool — it was too long for the URL."},"embedWidget":{"title":"Embed this prompt","size":"Size","small":"Small","medium":"Medium","large":"Large","theme":"Theme","dark":"Dark","light":"Light","copyCode":"Copy embed code","copied":"Copied!","iframeSnippet":"HTML Embed","markdownSnippet":"Markdown","poweredBy":"Powered by prompt2love"}},"tickets":{"title":"Support Tickets","newTicket":"New Ticket","newTicketTitle":"New Support Ticket","statusOpen":"Open","statusInProgress":"In Progress","statusClosed":"Closed","categoryGeneral":"General","categoryBug":"Bug","categoryFeature":"Feature Request","categoryBilling":"Billing","subjectLabel":"Subject","subjectPlaceholder":"Brief description of the issue","reportBug":"Report Bug","priorityLabel":"Priority","priorityLow":"Low","priorityNormal":"Normal","priorityHigh":"High","descPlaceholder":"Describe your issue in detail...","createTicket":"Create Ticket","noTickets":"No Tickets","noTicketsDesc":"You have not created any support tickets yet.","createFirstTicket":"Create First Ticket","replyBadge":"Reply","ticketCreated":"Ticket created","ticketCreateFailed":"Could not create ticket.","ticketNotFound":"Ticket not found","reopenTicket":"Reopen","closeTicket":"Close","you":"You","supportTeamAvatar":"ST","supportTeam":"Support Team","messagePlaceholder":"Write a message...","ticketClosed":"Ticket closed","ticketReopened":"Ticket reopened","reopenAction":"Reopen","ticketCreatedLabel":"· Ticket created","messageSendFailed":"Could not send message.","messagesLoadFailed":"Could not load messages.","seoTitle":"Tickets · Prompt2Love","seoDesc":"Support tickets."},"project":{"notFound":"Project not found","start":"Start","end":"End","projectStart":"Project Start","edgeBlack":"Black","edgeNeonGreen":"Neon Green","edgeWhite":"White","edgeGray":"Gray","edgeRed":"Red","edgeBlue":"Blue","edgeOrange":"Orange","edgePurple":"Purple","lineColor":"Line color","undoTitle":"Undo (Ctrl+Z)","redoTitle":"Redo (Ctrl+Y)","addStartTitle":"Add Start","addEndTitle":"Add End","promptNode":"Prompt","imageNode":"Image","noteNode":"Note","autoLayout":"Auto Layout","saveBtn":"Save","addPromptTitle":"Add Prompt to Workflow","selectExistingPrompt":"Select existing prompt","searchPromptPlaceholder":"Search prompt...","noPromptsFound":"No prompts found","selectedPrompt":"Selected Prompt:","createNewNodeHint":"Or create a new node without linking:","aiTool":"AI Tool","selectAiTool":"Select an AI tool","other":"Other","addNode":"Add","addImage":"Add Image","titleRequired":"Title ","uploadBtn":"Upload","urlBtn":"Paste URL","uploadHint":"Upload image (PNG, JPG, GIF up to 10 MB)","imageUrl":"Image URL","imageUrlPlaceholder":"Enter external image URL","descOptional":"Description (optional)","addImageBtn":"Add image","addNote":"Add Note","contentLabel":"Content","notePlaceholder":"Enter note...","titleRequiredMsg":"Please enter a title","imageRequiredMsg":"Please enter title and image URL","contentRequiredMsg":"Please enter title and content","canvasHintDrag":"Drag and drop nodes","canvasHintEdge":"Click connections for options","canvasHintMinimap":"Minimap: Click \u0026 drag to navigate","nodeDetails":"Node Details","promptContent":"Prompt Content","copyBtn":"Copy","connectionDeleted":"Connection deleted","undone":"Undone","redone":"Redone","autoLayoutApplied":"Auto layout applied","layoutSaved":"Layout saved","layoutSaveFailed":"Error saving","promptNodeAdded":"Prompt node added","imageNodeAdded":"Image node added","noteAdded":"Note added","startMarkerAdded":"Start marker added","endMarkerAdded":"End marker added","nodeDeleted":"Node deleted","promptCopied":"Prompt copied","imageUploaded":"Image uploaded successfully","linkedPrompt":"Linked Prompt","copyPrompt":"Copy Prompt","seoTitle":"Project · Prompt2Love","seoDesc":"Project view.","titlePlaceholder":"e.g. Hero Section Design","imageTitlePlaceholder":"e.g. Hero image, product photo","imageLandingPlaceholder":"e.g. Main image of landing page","noteImportantPlaceholder":"e.g. Important note","imageUrlExample":"https://example.com/image.jpg"},"notifications":{},"upgrade":{"title":"Upgrade to Pro","badgeLabel":"Pro Plan","headline":"No limits. Full control.","subheadline":"Everything you need to work professionally with AI.","featureUnlimitedPrompts":"Unlimited Prompts \u0026 Skills","featureUnlimitedVars":"Unlimited Variables","featureVersioning":"Versioning \u0026 History","featureWorkspaces":"10 Workspaces","featureStorage":"50 GB Storage","featureCanvas":"Project Canvas","featureSupport":"Priority Support","reasonPromptLimit":"Prompt limit reached","reasonSkillLimit":"Skill limit reached","reasonVersioning":"Versioning is a Pro feature","reasonVarLimit":"Variable limit reached","reasonWorkspaceLimit":"Workspace limit reached","reasonStorageLimit":"Storage limit reached","reasonFileTooLarge":"File too large for the free plan","reasonVideoTooLong":"Video too long for the free plan","currentUsage":"Current: {current} / {limit}","standardActive":"Pro plan active","teamsActive":"Teams plan active","alreadySubscribed":"You already have a {plan} subscription. All premium features are available.","manageSubscription":"Manage Subscription","twoMonthsFree":"4 months free","recommended":"Popular","cancelAnytime":"Cancel anytime","trustCancel":"Cancel anytime","trustSecure":"Secure payment","legalNote":"By purchasing you agree that the delivery of digital content begins immediately.","productConfigMissing":"Product configuration missing...","checkoutFailed":"Checkout failed","noCheckoutUrl":"No checkout URL received","ariaMonthly":"Pro monthly for 15 CHF","ariaYearly":"Pro yearly for 10 CHF per month","withdrawalConsent":"I expressly waive my 14-day right of withdrawal and agree that the delivery of digital content begins immediately.","withdrawalLink":"Cancellation Policy"},"softWall":{"signInToLike_title":"Sign in to like","signInToLike_desc":"Sign in to like posts...","signInToSave_title":"Sign in to save","signInToSave_desc":"...save posts to your collection.","signInToFork_title":"Sign in to fork","signInToFork_desc":"...fork and improve prompts.","signInToComment_title":"Sign in to comment","signInToComment_desc":"...join the discussion.","signInToFollow_title":"Sign in to follow","signInToFollow_desc":"...follow other users.","signInToShare_title":"Sign in to share","signInToShare_desc":"...share content with the community.","signInToVote_title":"Sign in to vote","signInToVote_desc":"...upvote or downvote posts.","signInToPost_title":"Sign in to post","signInToPost_desc":"...share your own prompts and results.","signInToHome_title":"Welcome to Prompt2Love","signInToHome_desc":"Sign in to create your own prompt library","noAccountYet":"No account yet? Sign up","signIn":"Sign in","createAccount":"Create account","backToHome":"Back to homepage"},"errors":{"pageNotFound":"Page not found","goHome":"Go to homepage"},"legal":{"privacy":"Privacy Policy","terms":"Terms \u0026 Conditions","imprint":"Imprint","cookies":"Cookie Policy","cancellation":"Cancellation Policy"},"metadata":{"siteTitle":"Prompt2Love — Smart Prompt Management","siteDescription":"Manage, version, and share your AI prompts in one place. The platform for prompt engineers."},"footer":{"copyright":"© 2026 Prompt2Love. All rights reserved.","availableIn":"Available in"},"onboarding":{"whatsYourName":"What is your name?","chooseUsername":"Choose your username for the community","usernamePlaceholder":"username","displayNamePlaceholder":"Display name (optional)","whereAreYouFrom":"Where are you from?","countryHint":"So we can show you the right currency","countrySearchPlaceholder":"Search country...","howDoYouUse":"What do you use prompts for?","selectUpTo":"Select up to {max} — we will create the right folder structure for you","setupBtn":"Set up","selectedCount":"{count}/{max} selected — You can adjust categories later","allReady":"All set!","workspaceReady":"Your workspace has been set up. Enjoy Prompt2Love!","getStarted":"Get Started","minChars":"At least 3 characters","validChars":"Only letters, numbers, _ and -","setupFailed":"Setup failed.","useCaseDev":"Development","useCaseDevDesc":"Code, Debugging, DevOps","useCaseMarketing":"Marketing","useCaseMarketingDesc":"Social Media, SEO, Ads","useCaseDesign":"Design \u0026 Creative","useCaseDesignDesc":"UI/UX, Images, Branding","useCaseContent":"Writing \u0026 Content","useCaseContentDesc":"Blog, Translations, Copy","useCaseBusiness":"Business","useCaseBusinessDesc":"Strategy, HR, Finance","useCaseEducation":"Education \u0026 Learning","useCaseEducationDesc":"Research, Learning, Exams","useCaseData":"Data \u0026 Analysis","useCaseDataDesc":"SQL, Reports, Visualization","useCasePersonal":"Personal","useCasePersonalDesc":"Productivity, Creative, Daily","selectTopLevel":"Select up to {max} areas","selectSubTopics":"What specifically interests you?","selectSubTopicsHint":"Select as many as you like","selectTools":"Which AI tools do you use?","selectToolsHint":"Select all that apply","newsletterOptIn":"Get Weekly Best Prompts","newsletterOptInHint":"Personalized top prompts, skills, and tips for your selected tools — delivered to your inbox every week.","subCodeReviews":"Code Reviews","subDebugging":"Debugging","subDocumentation":"Documentation","subTesting":"Testing","subDevOps":"DevOps","subArchitecture":"Architecture","subApiDesign":"API Design","subSocialMedia":"Social Media","subEmailMarketing":"Email Marketing","subSeoContent":"SEO \u0026 Content","subAdCopy":"Ad Copy","subAnalytics":"Analytics","subUiUx":"UI/UX","subImageGen":"Image Generation","subBranding":"Branding","subPresentations":"Presentations","subVideo":"Video","subBlogArticles":"Blog \u0026 Articles","subStorytelling":"Storytelling","subTranslations":"Translations","subEditing":"Editing \u0026 Proofreading","subTechnicalWriting":"Technical Writing","subStrategy":"Strategy","subFinance":"Finance","subHrRecruiting":"HR \u0026 Recruiting","subProjectMgmt":"Project Management","subSales":"Sales","subDataAnalysis":"Data Analysis","subVisualization":"Visualization","subSqlQueries":"SQL \u0026 Queries","subReports":"Reports","subMlAi":"ML \u0026 AI","toolChatGPT":"ChatGPT","toolClaude":"Claude","toolGemini":"Gemini","toolPerplexity":"Perplexity","toolCopilot":"GitHub Copilot","toolGrok":"Grok","toolDeepSeek":"DeepSeek","toolMistral":"Mistral","toolLlama":"Llama","toolPoe":"Poe","toolMidjourney":"Midjourney","toolDalle":"DALL·E","toolStableDiffusion":"Stable Diffusion","toolLeonardo":"Leonardo AI","toolIdeogram":"Ideogram","toolFlux":"Flux","toolAdobeFirefly":"Adobe Firefly","toolRunway":"Runway","toolSora":"Sora","toolElevenLabs":"ElevenLabs","toolSuno":"Suno","toolCursor":"Cursor","toolWindsurf":"Windsurf","toolReplit":"Replit","toolV0":"v0","toolJasper":"Jasper","toolNotionAI":"Notion AI","toolGrammarly":"Grammarly","toolOther":"Other","tourPaused":"Tour paused","tourPausedDesc":"Resume via Settings → Onboarding","skipTour":"Skip tour","finish":"Finish","welcomeToPrompt2Love":"Welcome to Prompt2Love","welcomeBody":"Your turn — create your first prompt and get started!","createFirstPromptBtn":"Create first prompt","step1Title":"Your Prompt Library","step1Body":"Create, version, and organize your prompts in one place — with full version history and result tracking.","step2Title":"Skills — reusable AI building blocks","step2Body":"Define when and how an AI action should be performed. Switch between prompts and skills with one click.","step3Title":"The Chrome Extension — your superpower","step3Body":"Save prompts directly from ChatGPT, Claude, Gemini, and 20+ AI tools. Insert with one click — no tab switching.","step4Title":"The Community — for pros, not for traffic","step4Body":"Follow the people who live from prompts \u0026 skills. Share your best results.","step4Highlight":"Upvotes show what is truly quality — not just what looks nice.","promptsTitle":"Prompts","promptsDesc":"Create, organize, and optimize your AI prompts.","promptsAction":"My Prompts","extensionTitle":"Chrome Extension","extensionDesc":"Save and insert prompts directly in ChatGPT, Claude, and 20+ AI tools.","extensionAction":"Add to Chrome","communityTitle":"Community","communityDesc":"Share ideas, give feedback, and connect.","communityAction":"Join"},"wizard":{"intentTitle":"What's your goal?","intentSubtitle":"We'll set everything up for you.","intentOrganize":"Organize prompts","intentOrganizeDesc":"Collect and manage my best prompts","intentTeam":"Build team workflows","intentTeamDesc":"Collaborate on prompts and skills together","intentCommunity":"Discover the community","intentCommunityDesc":"Learn from others and share prompts","intentContent":"Create content","intentContentDesc":"Produce text, images and ideas with AI","intentLearn":"Learn \u0026 experiment","intentLearnDesc":"Understand and try out AI tools better","driversTitle":"What matters to you?","driversSubtitle":"Pick the features you're most interested in.","driverLibrary":"Prompt library","driverVersioning":"Versioning","driverTeam":"Team collaboration","driverCommunity":"Community \u0026 inspiration","driverExport":"Export \u0026 sharing","driverAiIntegration":"AI tool integration","attrTitle":"How did you find us?","attrSubtitle":"Helps us reach the right people.","attrProductHunt":"Product Hunt","attrTwitter":"Twitter / X","attrLinkedIn":"LinkedIn","attrGoogle":"Google Search","attrYouTube":"YouTube","attrNewsletter":"Newsletter","attrReferral":"Referral","attrOther":"Other","referrerPlaceholder":"Who referred you?","skipStep":"Skip","workspaceTitle":"Your workspace","workspaceSubtitle":"Give your workspace a name — you can change it later.","workspaceNameLabel":"Workspace name","workspaceNamePlaceholder":"e.g. Marketing Team, My Studio...","teamInviteLabel":"Invite team","teamInviteHint":"Add up to 5 email addresses.","addAnother":"Invite another person","finishSetup":"Set up","celebrationTitle":"All set!","celebrationSubtitle":"Your workspace is waiting for you. Have fun!","goToDashboard":"Let's go"},"variables":{"fillTitle":"Fill in Variables","valuePlaceholder":"Value for {variable}...","previewLabel":"Preview","copiedToast":"Copied!","copiedDesc":"Finished prompt copied to clipboard.","copyFailed":"Could not copy."},"versionHistory":{"title":"Version History","saveVersion":"Save Version","titleLabel":"Title","versionTitlePlaceholder":"Version title","contentLabel":"Prompt Content","contentPlaceholder":"Prompt content...","resultLabel":"Result","resultPlaceholder":"The result of the prompt...","resultImageLabel":"Result Image","resultImageUpload":"Upload result image","versionSaved":"Version saved","versionSavedDesc":"The new version was created successfully.","noVersions":"No versions yet.","promptLabel":"Prompt","resultImageAlt":"Result","promptHistory":"Prompt History","entryCount":"{count, plural, one {# entry} other {# entries}}","versionCount":"{count, plural, one {# version} other {# versions}}","noteCount":"{count, plural, one {# note} other {# notes}}","addEntry":"Entry","noteType":"Note","versionType":"Version","notePlaceholder":"Note or insight...","versionPlaceholder":"New prompt content...","resultPlaceholderOptional":"Result (optional)...","saveNote":"Save note","entryAdded":"Entry added","entryCreateFailed":"Could not create entry.","mainPromptUpdated":"Main prompt updated","deleteConfirm":"Really delete entry?","adoptBtn":"Adopt","original":"ORIGINAL","promptContent":"Prompt content","resultLabelShort":"Result","copyResult":"Copy result","resultImageLabelShort":"Result image","attachmentsLabel":"Attachments","upgradeForVersioning":"Upgrade to Pro for versioning"},"cookies":{"bannerText":"We use cookies to improve your experience. Analytics cookies help us improve Prompt2Love.","settings":"Settings","necessaryOnly":"Necessary only","acceptAll":"Accept all","settingsTitle":"Cookie Settings","necessary":"Necessary","necessaryDesc":"Login, security, basic functions","necessaryAria":"Necessary cookies (always active)","analytics":"Analytics","analyticsDesc":"Usage statistics, page views, feature usage","analyticsAria":"Analytics cookies","marketing":"Marketing","marketingDesc":"Personalized content (not currently used)","marketingAria":"Marketing cookies","saveSelection":"Save selection"},"fileDropzone":{"defaultLabel":"Upload image","previewAlt":"Preview","uploadFailed":"Upload failed","uploading":"Uploading... {progress}%","uploadFailedLabel":"Upload failed","retryHint":"Click to try again","dragHint":"Drag a file here or click to select"},"quotaBar":{"storage":"Storage","storageFull":"Storage almost full"},"notFound":{"title":"Page not found","description":"The requested page does not exist or has been moved.","backHome":"Go to homepage"},"landing":{"seoTitle":"Prompt2Love — Prompts, Skills \u0026 AI Community","navFeatures":"Features","navSkills":"Skills","navCommunity":"Community","navPricing":"Pricing","signIn":"Sign in","menuClose":"Close menu","menuOpen":"Open menu","heroTitle":"Now live · Free forever plan","heroSubtitle":"Capture. Version. Share.","heroLine1":"The fastest way to capture","heroLine2":"and version AI Prompts.","heroDesc":"Manage, version, and share your AI prompts in one place...","heroDescFull":"Highlight any prompt. Save it via Chrome Extension. Manage all inputs and outputs in one place.","heroCtaPrimary":"Get started","heroCtaSecondary":"Learn more","heroSubCta":"Start for free · No credit card required","waitlistPlaceholder":"Enter your email","waitlistCta":"Get started free","waitlistSubmitting":"Joining...","waitlistSubtext":"Free · No credit card required","launchDate":"Launching June 10, 2026 on Product Hunt","waitlistSuccess":"You're on the list!","waitlistSuccessDesc":"We'll notify you as soon as Prompt2Love launches. Want to help make our launch unforgettable?","waitlistPHCta":"Support us on Product Hunt","waitlistPHDesc":"Click 'Notify me' on our Product Hunt page so you don't miss launch day","waitlistError":"Something went wrong. Please try again.","floatingCtaWaitlist":"Join the waitlist","waitlistPHLabel":"Support us on","ctaStartFree":"Start for free","stickyBarText":"Your prompt library is waiting","featuresLabel":"Features","featuresTitle":"Everything you need","featuresDesc":"Powerful tools for professional prompt management — clear and intuitive.","featureLibrary":"Prompt Library","featureLibraryDesc":"Save unlimited prompts with versioning, tags, and categories. Find any prompt in seconds — no matter how large your collection.","featureLibraryF1":"Unlimited Prompts","featureLibraryF2":"Versioning","featureLibraryF3":"Tags \u0026 Categories","featureLibraryF4":"Full-text search","featureSkills":"Skills","featureSkillsDesc":"Create reusable AI building blocks and share with the community.","featureCommunity":"Community","featureCommunityDesc":"Connect with prompt engineers worldwide. Discover new approaches.","featureChromeExt":"Chrome Extension","featureChromeExtDesc":"Save prompts from any website — select text, click, done.","featureChromeExtension":"Chrome Extension","featureMultiTool":"Multi-Tool Support","featureMultiToolDesc":"ChatGPT, Claude, Midjourney, DALL-E and 50+ more AI tools.","benefitsLabel":"Benefits","benefitsTitle":"Why Prompt2Love?","benefitsDesc":"More than just saving — a complete platform for professional prompt engineering.","detailTitle":"Everything in detail","detailDesc":"Every feature was built for professional prompt engineering.","detailSkillsTitle":"Skills \u0026 Workflows","detailSkillsDesc":"Create reusable AI building blocks with triggers. Automate recurring tasks and save time every use.","detailSkillsF1":"Trigger-based","detailSkillsF2":"Reusable","detailSkillsF3":"Template library","detailSkillsF4":"Parameter variables","detailMarketplaceTitle":"Community","detailMarketplaceDesc":"Discover thousands of public prompts and skills. Fork them to your library, customize, and publish your own.","detailMarketplaceF1":"Fork \u0026 Customize","detailMarketplaceF2":"Trending system","detailMarketplaceF3":"Categories","detailMarketplaceF4":"Ratings","mpSectionBadge":"Community","mpSectionTitle":"Trending Prompts","mpSectionDesc":"Discover the most popular prompts — fork them to your library with one click.","mpSectionCta":"Explore all prompts","mpFilterAll":"All","mpViews":"views","mpDownloads":"downloads","mpVotes":"votes","detailCommunityTitle":"Community","detailCommunityDesc":"Share experiences, ask questions, and learn from the best. Upvotes show what really works — no algorithm, no fake.","detailCommunityF1":"Posts \u0026 Discussions","detailCommunityF2":"Upvote system","detailCommunityF3":"User profiles","detailCommunityF4":"Tags \u0026 Topics","statsPrompts":"Prompts managed","statsUsers":"Active users","statsTools":"AI tools","statsSatisfaction":"Satisfaction","reusableSkillsTitle":"Reusable AI Skills","reusableSkillsDesc":"Create modular skills for use across projects. Share with the community and discover skills from other prompt engineers.","skillsCreate":"Create \u0026 Share","skillsCreateDesc":"Build skills once, use everywhere. Share publicly or keep private.","skillsVoting":"Community Voting","skillsVotingDesc":"The best skills rise through votes. Discover proven solutions from other pros.","skillsSearch":"Categorized \u0026 searchable","skillsSearchDesc":"Find the right skill instantly with tags, categories, and full-text search.","communityTitle":"Better prompting together","communityDesc":"Connect with prompt engineers, share knowledge, and learn from the best. Our community makes you and your prompts better.","communityPosts":"Posts \u0026 Discussions","communityPostsDesc":"Share your insights, ask questions, and discuss the latest AI trends with like-minded people.","communityShare":"Share Prompts \u0026 Skills","communityShareDesc":"Publish your best prompts and skills. Let the community vote and give feedback.","communityFollow":"Follow \u0026 Connect","communityFollowDesc":"Follow top prompt engineers, discover their work, and build a network of AI experts.","communityDiscover":"Discover Community","globalLabel":"Global","globalTitle":"New prompts are being created around the world right now","globalDesc":"From Zurich to San Francisco — thousands of prompt engineers use Prompt2Love for better AI workflows. Join a global community.","globalCountries":"Countries","globalActivity":"Activity","globalPossibilities":"Possibilities","pricingLabel":"Pricing","pricingTitle":"The right plan for you","pricingDesc":"Start free and upgrade when you need more. No hidden costs.","billingMonthly":"Monthly","billingYearly":"Yearly","popular":"Popular","twoMonthsGifted":"Save 33%","freeStart":"Start for free","upgradeNow":"Upgrade now","faqTitle":"Frequently Asked Questions","faqSubtitle":"Everything you need to know about Prompt2Love","faqCatGeneral":"General","faqCatFunctions":"Features","faqCatPricing":"Pricing \u0026 Plans","faqCatSecurity":"Security \u0026 Data","ctaTitle":"Ready to master your prompts?","ctaDesc":"Join thousands of professionals who optimize their AI workflows with Prompt2Love.","ctaNoCreditCard":"No credit card required · Get started instantly","footerReadyTitle":"Ready to get started?","footerCopyright":"© 2026 Prompt2Love. All rights reserved.","footerMadeIn":"Made in","footerScrollTop":"Scroll to top","footerDataProtection":"Privacy","footerTerms":"Terms","footerImprint":"Imprint","signupTitle":"Sign up for free","signupBody":"To {action}, create a free account now. Takes only 30 seconds.","signupCta":"Sign up for free now","seoDesc":"Organize, share, and discover AI prompts. Community features, multi-model comparison, and prompt management for ChatGPT, Claude, Gemini.","variableSystemLabel":"Variable System","variableHeroTitle":"One Prompt. Infinite Variants.","variableHeroDesc":"Create prompts with variables like \u003cvar\u003ekundenname\u003c/var\u003e — our tool generates the final prompt. New client, new approach? Just change the variables.","promptTemplate":"Prompt template","generating":"Generating...","generated":"Generated","generatePrompt":"Generate prompt","generatedOutput":"Generated Output","changeVarsRegenerate":"Change variables \u0026 regenerate","clickGenerateHint":"Click \"Generate prompt\" to see the result","reusableTitle":"Reusable every time","reusableDesc":"New client? New product? Just change the variables — the prompt stays just as good.","shareWithTeamTitle":"Share with your team","shareWithTeamDesc":"Your team uses the same prompts with their own variables. Consistent quality, every time.","optimizeOnceTitle":"Optimize once, benefit always","optimizeOnceDesc":"Improve the template prompt and all future outputs automatically get better.","createVarPromptsCta":"Create prompts with variables now","benefitFastAccess":"Lightning-fast access","benefitFastAccessDesc":"Find any prompt in seconds with intelligent search and hierarchical navigation.","benefitSecure":"Secure \u0026 Private","benefitSecureDesc":"Your prompts belong to you. Full control over public and private content.","benefitImprovement":"Continuous improvement","benefitImprovementDesc":"Track your results, optimize iteratively, and build a library of proven prompts.","pricingFreeDesc":"Perfect to start — free forever","pricingStandardDesc":"For productive users","pricingTeamsDesc":"For teams \u0026 enterprises","pricingPerMonth":"per month","pricingPerMonthYearly":"per month, billed yearly","pricingPerMonthUser":"per month / user","pricingPerMonthUserYearly":"per month / user, billed yearly","pricingPlanFree":"Free","pricingPlanStandard":"Pro","pricingPlanTeams":"Teams","pricingFree":"Free","featureUnlimitedPrompts":"Unlimited Prompts","featureUnlimitedSkills":"Unlimited Skills","featureUnlimitedVars":"Unlimited Variables","featureVersioningHistory":"Versioning \u0026 History","feature10Workspaces":"10 Workspaces","featurePrioritySupport":"Priority Support","feature50Prompts":"30 Prompts","feature10Skills":"10 Skills","feature5VarPrompts":"5 Prompts with variables","featureFullCommunity":"Full Community access","feature1Workspace":"1 Workspace","featureTicketSupport":"Ticket Support","featureUnlimitedPromptsSkills":"Unlimited Prompts \u0026 Skills","featureUnlimitedWorkspaces":"Unlimited Workspaces","featureTeamCollab":"Team Collaboration","featureDedicatedSupport":"Dedicated Support","featureCustomBranding":"Custom Branding","promptLibraryLabel":"Prompt Library","testimonials":{"badge":"Community Voices","title":"What Users Say","subtitle":"Real feedback from prompt professionals who work with Prompt2Love.","testimonial1":"Since using Prompt2Love, I easily save 5 hours per week. My prompts are finally organized and I find everything instantly.","testimonial1Role":"Content Strategist, Zurich","testimonial2":"The community is worth its weight in gold. I found prompts I would never have thought of myself. Everyone is extremely helpful and active.","testimonial2Role":"AI Engineer, Berlin","testimonial3":"Finally a platform that takes prompt management seriously. Versioning alone has saved us from several costly mistakes.","testimonial3Role":"Marketing Lead, Vienna","testimonial4":"Skills are a game-changer. I build workflows with them that automate my work. This quality is not available anywhere else.","testimonial4Role":"Freelance Developer, Bern"},"faq":{"q1":"Is Prompt2Love really free?","a1":"Yes — the free plan is permanently available, with no time limit...","q2":"What exactly is a prompt vs. a skill?","a2":"A prompt is an instruction for an AI model. A skill is a reusable AI building block...","q3":"Who is Prompt2Love for?","a3":"For everyone who works regularly with AI...","q4":"How does the community work?","a4":"In the community you find public prompts and skills from other users...","q5":"What makes the community different from social media?","a5":"In our community it is about quality, not reach...","q6":"Can I version my prompts?","a6":"Yes — in the Pro plan every change to a prompt is saved as a new version...","q7":"What is included in the free plan?","a7":"Up to 30 prompts and 10 skills, 5 prompts with variables...","q8":"When will the Teams plan arrive?","a8":"The Teams plan with collaboration, unlimited workspaces, and custom branding is currently in development...","q9":"Can I cancel anytime?","a9":"Yes — you can cancel your plan at any time...","q10":"Are my prompts safe?","a10":"Absolutely. Your prompts are private by default...","q11":"Where is my data stored?","a11":"All data is stored on servers in Europe...","q12":"Are my prompts used for AI training?","a12":"No — your prompts belong to you..."},"comingSoon":"Coming Soon","freeBadge":"Free","floatingCta":"Get started free","footerCta":"Get started free","marqueePromptMgmt":"Prompt Management","marqueeSkills":"AI Skills","marqueeCommunity":"Community Driven","marqueeSwiss":"Made in Switzerland","marqueeFree":"Free","mockupPromptCount":"12 Prompts","mockupCommunityLabel":"Community","mockupHot":"Hot","mockupNew":"New","mockupTop":"Top","mockupPromptsSkills":"Prompts \u0026 Skills","showcaseVariablesCount":"{count} Variables · v2.1","showcase":{"0":{"title":"Product Description","category":"Marketing","var1Name":"productname","var1Value":"AirPods Pro 3","var2Name":"audience","var2Value":"Tech Enthusiasts","var3Name":"tonality","var3Value":"Premium \u0026 Modern","template":"Create a compelling product description for [productname] that appeals to [audience]. Use a [tonality] tone.","output":"The AirPods Pro 3 redefine wireless audio. With adaptive noise cancellation and Hi-Fi Spatial Audio, tech enthusiasts experience sound on an entirely new level..."},"1":{"title":"Code Review Assistant","category":"Development","var1Name":"language","var1Value":"TypeScript","var2Name":"focus","var2Value":"Performance","var3Name":"style","var3Value":"Constructive","template":"Analyze the following [language] code with focus on [focus]. Give feedback in style: [style].","output":"Great structure! Three optimizations: 1) The array iteration on line 12 can be replaced with a Map — O(n) instead of O(n²). 2) useMemo for the filtered list..."},"2":{"title":"Brand Voice Generator","category":"Design","var1Name":"brand","var1Value":"Prompt2Love","var2Name":"industry","var2Value":"SaaS / AI","var3Name":"personality","var3Value":"Innovative \u0026 Accessible","template":"Define the brand voice for [brand] in the [industry] industry. Personality: [personality].","output":"Prompt2Love speaks clearly, modern, and at eye level. Technical concepts are explained tangibly — never patronizing, always inviting. The tone is professional with a hint of..."}},"mockupPosts":{"0":{"title":"10 Prompts that transformed my e-commerce","name":"Sarah K."},"1":{"title":"Claude vs GPT-4o for Code Reviews — my setup","name":"Marc W."},"2":{"title":"Brand Voice in 5 minutes with a single prompt","name":"Lisa M."}},"mockupPromptList":{"0":"Product Description Generator","1":"Brand Voice Prompt","2":"SEO Meta Descriptions","3":"Social Media Captions"},"footerSwitzerland":"Switzerland","regionSwitzerland":"Switzerland","regionEurope":"Europe","regionWorld":"Rest of World","mockupFeaturePreview":{"0":"Product Description","1":"Code Review","2":"SEO Meta Tags"},"mockupSkillsList":{"0":{"name":"SEO Meta Generator","author":"Sarah K."},"1":{"name":"Code Review Assistant","author":"Max L."},"2":{"name":"Brand Voice Builder","author":"Lisa M."},"3":{"name":"Data Analysis Prompt","author":"Tom R."}},"footerMagazine":"Magazine","footerCancellation":"Cancellation","footerAbout":"Prompt2Love","extBadge":"Chrome Extension","extTitle":"Your Prompts. Everywhere.","extDesc":"Save prompts from any website — just select text and click. Your entire library always at hand.","extStep1Title":"Select \u0026 Save","extStep1Desc":"Select any text on any website. Two buttons appear: save as Prompt or as Output. One click, done.","extStep2Title":"Search \u0026 Find","extStep2Desc":"Search your entire prompt library directly in the browser. Filter by category, tags, or full text.","extStep3Title":"Insert \u0026 Use","extStep3Desc":"Open the side panel and insert prompts directly into any AI tool — ChatGPT, Claude, Gemini, and more.","extStep4Title":"Inbox \u0026 Organize","extStep4Desc":"Saved prompts land in your inbox first. Review, edit, and file them into your library when ready.","extCtaPrimary":"Add to Chrome — Free","extCtaSecondary":"Start in Browser","extMockWorkspace":"My Workspace","extMockSearch":"Search prompts...","extMockCatAll":"All","extMockCatAnalysis":"Analysis","extMockCatImages":"Images","extMockPrompt1":"Product Description Generator","extMockPrompt1Desc":"Create compelling product descriptions for any audience","extMockPrompt2":"Code Review Assistant","extMockPrompt2Desc":"Analyze code with focus on performance and security","extMockPrompt3":"SEO Meta Tags","extMockPrompt3Desc":"Generate optimized meta tags for better rankings","extSavePrompt":"Save Prompt","extSaveOutput":"Save Output","heroExtBadge":"Also as Chrome Extension","navLogin":"Log in","navSignup":"Start free","heroSecondaryCta":"Explore community","downloadMac":"Download for Mac","downloadMacSub":"For macOS (Apple Silicon \u0026 Intel)","navMac":"Mac App","extComingSoon":"Available now","extCtaComingSoon":"Free · works in ChatGPT, Claude, Gemini \u0026 20+ AI tools","macBadge":"Mac App — Available","macTitle":"Your Prompts. Right in the Dock.","macDesc":"The full Prompt2Love app as a native Mac companion. Its own window, quick access, no tab juggling.","macStep1Title":"Launch instantly","macStep1Desc":"Dock icon, app window, done. No more juggling browser tabs between research and your prompt library.","macStep2Title":"Focused window","macStep2Desc":"A dedicated app window for distraction-free work. Cmd+N, Cmd+W, Cmd+, — all the macOS shortcuts you expect.","macStep3Title":"Apple Silicon \u0026 Intel","macStep3Desc":"Universal build. Native-fast on M1 / M2 / M3 / M4 and seamless on older Intel Macs.","macStep4Title":"Always up to date","macStep4Desc":"Syncs with your account and shows an update banner the moment a new version ships.","macCtaPrimary":"Download for Mac","macCtaDetails":"Install instructions","navMcp":"MCP","mcpBadge":"MCP server — New","mcpFree":"Free in every plan","mcpTitle":"Your library. A command away in your terminal.","mcpDesc":"Connect Prompt2Love once to Claude Code, Claude Desktop, ChatGPT, Cursor or Windsurf — then pull your own prompts straight into the tool with /prompt. Secure via OAuth, no copy-paste.","mcpStep1Title":"Connect","mcpStep1Desc":"Paste a link or command — no setup, no copying keys.","mcpStep2Title":"Authorize in the browser","mcpStep2Desc":"Log in as usual and confirm access. Secure via OAuth.","mcpStep3Title":"Use /prompt","mcpStep3Desc":"Type /prompt + a search term — your prompt is found and inserted right away.","mcpTermTitle":"~/project — claude","mcpTermAuth":"→ Browser opened for authorization …","mcpTermAuthorized":"✓ Authorized — prompt2love connected","mcpTermPrompt":"/prompt cold email","mcpTermLoaded":"✓ “Cold-Email Opener” found \u0026 inserted","mcpCta":"Set up MCP — free","mcpCtaSub":"Included in every plan — even on Free.","pfMcp":"MCP server (Claude, Cursor \u0026 co.)","pfMacApp":"Mac app","pfChromeExt":"Chrome extension"},"admin":{"formatFeedCard":"Feed Card","formatInlineCard":"Inline Card","formatBannerTop":"Banner (top)","formatSidebarBanner":"Sidebar Banner","formatPopup":"Popup","placementFeed":"Feed","placementPublicPrompts":"Prompts (public)","placementPublicSkills":"Skills (public)","placementCommunity":"Community","placementSidebar":"Sidebar","placementLanding":"Landing Page","statusDraft":"Draft","statusReady":"Ready","statusActive":"Active","statusDeactivated":"Deactivated","statusPayment":"Payment","statusPaid":"Paid","statusArchived":"Archived","adTitlePlaceholder":"Ad Title","defaultLinkText":"Learn more","editCustomer":"Edit Customer","newCustomer":"New Ad Customer","companyLabel":"Company ","companyPlaceholder":"Company name","contactPerson":"Contact Person","emailLabel":"Email","phoneLabel":"Phone","websiteLabel":"Website","notesLabel":"Notes","customerUpdated":"Customer updated","customerCreated":"Customer created","imageLabel":"Image","imageUpload":"Upload image","imageSpec":"JPG, PNG, WebP · max 10 MB","replace":"Replace","totalStat":"Total","activeStat":"Active","viewsStat":"Views","clicksStat":"Clicks","adsTab":"Ads","customersTab":"Customers","newAd":"New Ad","adCreated":"Ad created","adCreateFailed":"Could not create ad.","adUpdated":"Ad updated","adDeleted":"Ad deleted","customerDeleted":"Customer deleted","requiredFieldsMissing":"Required fields missing","requiredFieldsDesc":"Name, title, link, and start date are required."},"welcomeBack":{"title":"Welcome back!","body":"You were away for {days} days. See what's new!","lapsedTitle":"We missed you!","lapsedBody":"There have been many new features and community posts since your last visit.","cta":"Discover what's new"},"upsell":{"ahaTitle":"5 Prompts Created!","personaPower":"Pro removes all limits — unlimited prompts, versioning, and advanced variables.","personaTeam":"Team workspaces turn Prompt2Love into your shared team library.","personaCasual":"If you use it regularly, Pro gives you unlimited prompts and more.","ahaCta":"See Pro — 30% off first payment","ahaDismiss":"Later","quotaWarn":"{current} of {limit} prompts used — approaching limit","quotaFull":"Prompt limit reached ({current}/{limit}) — upgrade for unlimited","upgradeNow":"Upgrade now","powerFreeTrialBanner":"Your free Pro month runs until {date}","learnMore":"Learn more about Pro","extendPro":"Extend Pro"},"sidebarMacPromo":{"title":"Get the Mac app","subtitleMac":"Quick access right from your Dock","subtitleOther":"Native app for your Mac — ready when you are","dismiss":"Hide this hint"},"extensionPromo":{"title":"Chrome Extension — Waitlist","subtitle":"Save and manage prompts directly in your browser","waitlistBadge":"Available now","waitlistSubtitle":"The extension is live on the Chrome Web Store — install it to capture prompts anywhere and paste them into 20+ AI tools.","feature1":"Select text \u0026 save as prompt — on any website","feature2":"Automatically capture and assign AI responses","feature3":"Prompt library right next to ChatGPT, Claude \u0026 more","feature4":"Real-time sync between extension and web app","waitlistPlaceholder":"Your email address","waitlistCta":"Join the waitlist","waitlistSubmitting":"Signing up…","waitlistFinePrint":"One email at launch. No spam.","waitlistSuccess":"You're on the list.","waitlistSuccessDesc":"You're all set — install the extension to get started.","waitlistInvalidEmail":"Please enter a valid email address.","waitlistError":"Signup failed. Please try again later.","cta":"Download Chrome Extension","installCta":"Add to Chrome","connected":"Extension connected","learnMore":"Learn more"},"pricing":{"heroTitle":"Choose Your Plan","heroSubtitle":"Start free, upgrade when you need more power. No credit card required.","discountBanner":"{discounted} instead of {original} (first payment)","discountCode":"Code {code} automatically applied","discountHint":"30% off your first payment","monthly":"Monthly","yearly":"Yearly","save17":"Save 33%","freeTier":"Free","freeSubtitle":"For getting started","freeForever":"Free forever","freePrice":"CHF 0","freeCta":"Get Started","free10Prompts":"30 Prompts","free5Skills":"5 Skills","free100mbStorage":"100 MB Storage","freeCommunity":"Community access","freeBasicExport":"Basic export","proTier":"Pro","proSubtitle":"For power users","popular":"Most Popular","month":"month","year":"year","proMonthlyPrice":"CHF 15","proYearlyPrice":"CHF 120","proYearlyPerMonth":"CHF 10/month","proCta":"Upgrade","proCtaSignup":"Sign up \u0026 upgrade","featureUnlimitedPrompts":"Unlimited Prompts \u0026 Skills","featureUnlimitedVars":"Unlimited Variables","featureVersioning":"Version History","featureWorkspaces":"Multiple Workspaces","feature5gbStorage":"5 GB Storage","featureCanvasMode":"Canvas Mode","featurePrioritySupport":"Priority Support","featureAdvancedAnalytics":"Advanced Analytics","featureApiAccess":"API Access","featureMcp":"MCP server (Claude, Cursor \u0026 co.)","featureMacApp":"Mac app","featureChromeExt":"Chrome extension","businessTier":"Business","businessSubtitle":"For teams \u0026 agencies","businessPrice":"Custom","businessComingSoon":"Coming Soon","businessCta":"Get Notified","businessEmailPlaceholder":"your@email.com","featureEverythingInPro":"Everything in Pro","featureTeamMembers":"Unlimited Team Members","featureCustomBranding":"Custom Branding","featureSso":"SSO / SAML","featureDedicatedSupport":"Dedicated Account Manager","featureCustomIntegrations":"Custom Integrations","comparisonTitle":"Feature Comparison","compFeature":"Feature","compFree":"Free","compPro":"Pro","compBusiness":"Business","compPrompts":"Prompts","compPromptsF":"30","compPromptsP":"Unlimited","compPromptsB":"Unlimited","compSkills":"Skills","compSkillsF":"5","compSkillsP":"Unlimited","compSkillsB":"Unlimited","compStorage":"Storage","compStorageF":"100 MB","compStorageP":"5 GB","compStorageB":"Unlimited","compVersioning":"Version History","compWorkspaces":"Workspaces","compWorkspacesF":"1","compWorkspacesP":"Unlimited","compWorkspacesB":"Unlimited","compAnalytics":"Analytics","compAnalyticsF":"Basic","compAnalyticsP":"Advanced","compAnalyticsB":"Enterprise","compApi":"API Access","compSupport":"Support","compSupportF":"Community","compSupportP":"Priority","compSupportB":"Dedicated","compTeamMembers":"Team Members","compTeamMembersF":"1","compTeamMembersP":"1","compTeamMembersB":"Unlimited","compSso":"SSO / SAML","compMcp":"MCP server","compMacApp":"Mac app","compChromeExt":"Chrome extension","getProCta":"Get Pro","moneyBack":"30-day money-back guarantee","cancelAnytime":"Cancel anytime","madeInSwitzerland":"Made in Switzerland","faqTitle":"Frequently Asked Questions","faq1Q":"Can I cancel anytime?","faq1A":"Yes, with one click. Your Pro continues until the end of the paid period. No hidden fees.","faq2Q":"Is there a money-back guarantee?","faq2A":"Yes, for 30 days. Just write to us and you'll get a full refund, no questions asked.","faq3Q":"What payment methods do you accept?","faq3A":"We accept all major credit cards, Apple Pay, and Google Pay. All payments are processed securely through our payment provider.","faq4Q":"Can I switch between monthly and yearly billing?","faq4A":"Yes, you can switch at any time. When upgrading to yearly, you'll get credit for the remaining days on your monthly plan.","faq5Q":"What happens to my data if I downgrade?","faq5A":"Your prompts and skills remain accessible in read-only mode. You can export everything at any time, even on the free plan.","faq6Q":"How does the 30% welcome discount work?","faq6A":"New users automatically get 30% off their first payment. With yearly billing, that's CHF 84 instead of CHF 120. From the second payment onward, the regular price applies.","checkoutError":"Could not start checkout","withdrawalConsent":"I expressly waive my 14-day right of withdrawal and agree that the delivery of digital content begins immediately.","withdrawalLink":"Cancellation Policy","metaTitle":"Pricing — Prompt2Love","metaDescription":"Simple, transparent pricing. Start free, upgrade to Pro for unlimited prompts and advanced features."},"magazine":{"title":"Magazine","readMore":"Read more","readingTime":"{minutes} min read","backToList":"Back to Magazine"},"analytics":{"title":"Creator Analytics","last30days":"Last 30 days","totalViews":"Total Views","totalDownloads":"Total Downloads","totalUpvotes":"Total Upvotes","topPrompts":"Top Prompts","prompt":"Prompt","views":"Views","downloads":"Downloads","votes":"Votes","noPublicPrompts":"No public prompts yet.","publishToSeeStats":"Publish prompts to see your creator analytics."},"about":{"metaTitle":"About Prompt2Love — AI Prompt Platform from Switzerland","metaDescription":"Prompt2Love is a community-driven platform for creating, organizing, and sharing AI prompts and reusable skill templates. Founded in Zurich, Switzerland.","badge":"About Prompt2Love","heroTitle":"The home for your AI prompts","heroSubtitle":"Prompt2Love is a community-driven platform for creating, organizing, and sharing AI prompts and reusable skill templates.","missionTitle":"Our Mission","missionP1":"AI is transforming the way we work, create, and communicate. But the prompts that unlock AI's potential are scattered across notes, chats, and forgotten bookmarks. Prompt2Love gives them a proper home.","missionP2":"We believe great prompts should be reusable, shareable, and continuously improved — not reinvented from scratch every time. Our platform lets individuals and teams build a structured prompt library, discover what works through the community, and learn from each other.","whatTitle":"What is Prompt2Love?","what_prompts_title":"Prompt Management","what_prompts_desc":"Save, organize, and version your prompts for ChatGPT, Claude, Gemini, and other AI models. Use variables, folders, and tags to keep everything structured.","what_skills_title":"Skills \u0026 Automation","what_skills_desc":"Build reusable AI skills with custom instructions, variables, and output types. Share them with the community or keep them private.","what_community_title":"Community","what_community_desc":"Share experiences, ask questions, and learn from other prompt engineers. Upvotes surface what truly works — no algorithm, no fake.","factsTitle":"Key Facts","fact_founded":"Founded","fact_location":"Location","fact_stack":"Tech Stack","fact_pricing":"Model","founderTitle":"About Us","founderRole":"Prompt2Love","founderBio":"Prompt2Love is built in Zurich, Switzerland. We created the platform to solve the frustration of scattered AI prompts — and to build a space where the growing prompt engineering community can learn and share together.","ctaTitle":"Ready to organize your prompts?","ctaDesc":"Explore the community — no credit card required.","ctaMarketplace":"Explore Community","ctaCommunity":"Join Community","linkHome":"Home","linkImprint":"Imprint","linkPrivacy":"Privacy"},"changelog":{"title":"What's New","subtitle":"The latest features and improvements in Prompt2Love","readMore":"Learn more","markAllRead":"Mark all as read","new":"New","noAnnouncements":"No announcements yet. Stay tuned!","backToChangelog":"Back to changelog","whatsNew":"What's New"},"appUpdate":{"title":"Update available","subtitle":"A new version is ready.","action":"Reload","dismiss":"Dismiss"},"mcp":{"badge":"New · Unique on the market","demo":{"title":"See it in action","caption":"MCP × Higgsfield: turn your prompt straight into an image — fetch the prompt, hand it to your tool, get the result."},"hero":{"title":"Your library.","titleHighlight":"A command away in your terminal.","description":"Connect Prompt2Love once with your AI tool — then pull your own prompts with a single command into Claude Code, Claude Desktop, ChatGPT, Cursor or Windsurf. Secure via OAuth, no copy-paste."},"terminal":{"windowTitle":"~/project — claude","openedForAuth":"→ Browser opened for authorization …","authorized":"✓ Authorized — prompt2love connected","loaded":"✓ “Cold-Email Opener” found \u0026 inserted"},"mcpLink":{"title":"Your MCP link","desc":"Paste this link as a connection into any MCP-capable tool."},"setup":{"title":"Connect — pick your tool","desc":"Set up once, then your library is everywhere with you."},"clients":{"claude":{"hint":"Run in terminal — done."},"claudeDesktop":{"hint":"Claude Desktop → Settings → Connectors → “Add custom connector” → paste link → authorize."},"chatgpt":{"hint":"ChatGPT → Settings → Connectors (or Developer Mode) → add → paste link → authorize. (may require Plus/Pro)"},"cursor":{"hint":"Paste into ~/.cursor/mcp.json."},"windsurf":{"hint":"Paste into the Windsurf MCP config."}},"copyCommand":"Copy","connection":{"connected":"Connected","notConnected":"Not connected yet","disconnectAll":"Disconnect all","loading":"Loading connections …","since":"since","appearsHere":"Once you connect and confirm in the browser, your client will appear here."},"steps":{"paste":{"title":"Connect","desc":"Paste the link or command — no setup, no key copying."},"authorize":{"title":"Authorize in browser","desc":"Login as usual, confirm access. OAuth, secure."},"use":{"title":"Use /prompt","desc":"Type /prompt + a search term — I find your prompt and insert it."}},"promptFlow":{"title":"How to pull a prompt: /prompt","desc":"Type /prompt and a search term. (In Claude Code the full command is /mcp__prompt2love__prompt.)","placeholder":"\u003csearch term\u003e","step1Title":"Search","step1Desc":"/prompt cold email — searches your library.","step2Title":"Pick","step2Desc":"With several matches I show the list, you choose.","step3Title":"Insert","step3Desc":"I insert the prompt — and ask for any variables first."},"yourPrompt":{"title":"Here's how it looks for you","desc":"A real prompt from your library — this is exactly how you pull it into the terminal.","exampleBadge":"Example","variablesLabel":"Variables","loading":"Loading your prompt …","emptyNote":"As soon as you create your first prompt, yours will show up here."},"whatYouGet":{"commandTitle":"/prompt — your main command","commandDesc":"Finds a prompt by keyword and inserts it directly.","toolsTitle":"Additional tools (read-only)"},"tools":{"search_my_prompts":"Find your own prompts by keyword","get_prompt":"Load full prompt content","list_my_prompts":"List and filter prompts","list_my_skills":"List your own skills","get_skill":"Load skill instructions"},"readOnly":"Read-only — only your own library"},"extensionConnect":{"title":"Connect Prompt2Love with your browser","subtitle":"Save AI prompts with one click — directly from ChatGPT, Claude, Gemini or any website.","features":{"save":{"title":"Save","desc":"Save prompts from ChatGPT, Claude, Gemini or Perplexity with one click."},"insert":{"title":"Insert","desc":"Insert saved prompts directly into the chat field of your AI tool."},"privacy":{"title":"Privacy","desc":"No data without your click. Revoke the token anytime."}},"permissions":{"title":"Permissions","saveToInbox":"Save prompts to your inbox","readLibrary":"Read prompts from your library","insertIntoTools":"Insert prompts directly into AI tools"},"workspace":{"label":"Workspace","placeholder":"Choose workspace..."},"waitingForExtension":"Waiting for extension... Please open this page via the Chrome Extension.","connectButton":"Connect","connecting":"Connecting...","revocableNotice":"You can revoke the connection anytime under Settings → Connected Apps.","errors":{"connectionFailed":"Connection failed","extensionApiUnavailable":"Chrome Extension API not available. Please open this page in Chrome.","extensionNoResponse":"Extension did not respond. Please try again.","timeout":"Timeout. The extension did not respond."},"authRequired":{"title":"Sign in required","description":"Please sign in to connect the Chrome Extension."},"connected":{"title":"Extension connected!","description":"Your extension is now connected. You can close this window."}},"localeSwitcher":{"ariaLabel":"Change language","en":"EN","de":"DE"},"tools_index":{"metaTitle":"Free AI Tools for Prompt Engineering | Prompt2Love","metaDescription":"Free, no-signup tools to write better AI prompts. Start with the AI Prompt Generator — build structured, high-quality prompts for ChatGPT, Claude and Gemini in seconds.","h1":"AI Tools","intro":"Free tools that help you get better results from ChatGPT, Claude, Gemini and other AI models. No signup required — open a tool and start right away.","generatorCardTitle":"AI Prompt Generator","generatorCardDesc":"Turn a rough idea into a clear, structured prompt. Fill in role, context, task, format and tone, then copy the result into any AI model."},"tools_prompt_generator":{"metaTitle":"AI Prompt Generator — Build Better Prompts Free | Prompt2Love","metaDescription":"Free AI prompt generator. Combine role, context, task, format, tone, examples and constraints into a clear, structured prompt for ChatGPT, Claude and Gemini. No signup.","h1":"AI Prompt Generator","intro":"Build a clear, well-structured AI prompt in seconds. Fill in the building blocks below — role, context, task, output format, tone, examples and constraints — and we assemble a clean prompt you can copy straight into ChatGPT, Claude, Gemini or any other AI model.","sectionHowItWorks":"How the prompt generator works","sectionWhy":"Why prompt structure matters","faqHeading":"Frequently asked questions","field_role_label":"Role","field_role_placeholder":"e.g. You are an experienced B2B copywriter","field_context_label":"Context","field_context_placeholder":"Background the model needs: audience, product, situation…","field_task_label":"Task","field_task_placeholder":"What exactly should the AI do? Be specific.","field_format_label":"Output format","field_format_placeholder":"e.g. a bullet list, a 200-word summary, JSON…","field_tone_label":"Tone \u0026 style","field_tone_placeholder":"e.g. professional, friendly, concise, persuasive","field_examples_label":"Examples","field_examples_placeholder":"Optional: one or two examples of the result you want","field_constraints_label":"Constraints","field_constraints_placeholder":"Optional: limits, e.g. avoid jargon, max 300 words, no emojis","previewLabel":"Generated prompt","previewEmpty":"Fill in the fields above and your prompt will appear here.","btn_copy":"Copy prompt","btn_copied":"Copied!","btn_openChatGPT":"Open in ChatGPT","btn_openClaude":"Open in Claude","btn_saveToApp":"Save to Prompt2Love","btn_reset":"Reset","howItWorks_intro":"An AI prompt generator helps you write prompts that get consistent, high-quality results. Instead of typing a vague request, you describe your need in clear building blocks. The generator combines them into a structured prompt that gives the model everything it needs.","howItWorks_block_role":"Role — tell the AI who it should act as (e.g. an expert copywriter or a senior developer). This sets expertise and perspective.","howItWorks_block_context":"Context — give the background: audience, product, situation and any facts the model should know.","howItWorks_block_task":"Task — state precisely what you want done. Specific tasks beat vague ones every time.","howItWorks_block_format":"Output format — define the shape of the answer: a list, a table, JSON, a fixed word count.","howItWorks_block_tone":"Tone \u0026 style — set the voice: formal or casual, concise or detailed, persuasive or neutral.","howItWorks_block_examples":"Examples — show one or two samples of the result you expect. Examples dramatically improve accuracy.","howItWorks_block_constraints":"Constraints — add limits and rules: word counts, things to avoid, required keywords.","why_p1":"Large language models respond to structure. A clear role, explicit context and a precise task remove ambiguity, so the model spends its effort on your problem instead of guessing what you meant.","why_p2":"Structured prompts are also reusable. Once you have a prompt that works, you can save it, tweak a single building block and reuse it across projects — which is exactly what Prompt2Love is built for.","internalLinksHeading":"Learn more","internalLink_writeEffective":"How to write effective AI prompts","internalLink_techniques":"15 prompt engineering techniques","internalLink_glossary":"What is a prompt? (Glossary)","faq":[{"question":"What is an AI prompt generator?","answer":"An AI prompt generator is a tool that helps you build a clear, structured instruction for an AI model. Instead of writing a prompt from scratch, you fill in building blocks like role, context, task, format and tone, and the tool assembles them into a well-organised prompt you can paste into ChatGPT, Claude, Gemini or any other model."},{"question":"Is the prompt generator free?","answer":"Yes. The Prompt2Love prompt generator is completely free and requires no signup. Open the tool, fill in the fields and copy the result. Creating a free account only adds the ability to save and organise your prompts."},{"question":"Which AI models does it work with?","answer":"The generated prompt is plain text, so it works with any AI model — ChatGPT, Claude, Gemini, Llama, Mistral and others. You can also open it directly in ChatGPT or Claude with one click."},{"question":"What makes a good AI prompt?","answer":"A good prompt is specific and structured. It tells the model who it should act as (role), gives the necessary background (context), states the task clearly, defines the output format and tone, and adds examples or constraints where helpful. This generator walks you through each of those parts."},{"question":"Can I save the prompts I generate?","answer":"Yes. With a free Prompt2Love account you can save generated prompts to your library, version them, organise them with tags and reuse them across projects. Click 'Save to Prompt2Love' to get started."}]}},"now":"$undefined","timeZone":"UTC","children":"$L21"}]\n"]) Prompt2Love really free?","acceptedAnswer":{"@type":"Answer","text":"Yes — the free plan is permanently available, with no time limit..."}},{"@type":"Question","name":"What exactly is a prompt vs. a skill?","acceptedAnswer":{"@type":"Answer","text":"A prompt is an instruction for an AI model. A skill is a reusable AI building block..."}},{"@type":"Question","name":"Who is Prompt2Love for?","acceptedAnswer":{"@type":"Answer","text":"For everyone who works regularly with AI..."}},{"@type":"Question","name":"How does the community work?","acceptedAnswer":{"@type":"Answer","text":"In the community you find public prompts and skills from other users..."}},{"@type":"Question","name":"What makes the community different from social media?","acceptedAnswer":{"@type":"Answer","text":"In our community it is about quality, not reach..."}},{"@type":"Question","name":"Can I version my prompts?","acceptedAnswer":{"@type":"Answer","text":"Yes — in the Pro plan every change to a prompt is saved as a new version..."}},{"@type":"Question","name":"What is included in the free plan?","acceptedAnswer":{"@type":"Answer","text":"Up to 30 prompts and 10 skills, 5 prompts with variables..."}},{"@type":"Question","name":"When will the Teams plan arrive?","acceptedAnswer":{"@type":"Answer","text":"The Teams plan with collaboration, unlimited workspaces, and custom branding is currently in development..."}},{"@type":"Question","name":"Can I cancel anytime?","acceptedAnswer":{"@type":"Answer","text":"Yes — you can cancel your plan at any time..."}},{"@type":"Question","name":"Are my prompts safe?","acceptedAnswer":{"@type":"Answer","text":"Absolutely. Your prompts are private by default..."}},{"@type":"Question","name":"Where is my data stored?","acceptedAnswer":{"@type":"Answer","text":"All data is stored on servers in Europe..."}},{"@type":"Question","name":"Are my prompts used for AI training?","acceptedAnswer":{"@type":"Answer","text":"No — your prompts belong to you..."}}]}"]) Prompt Library \u0026 Community\",\"potentialAction\":{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https://prompt2love.com/community?search={search_term_string}\"},\"query-input\":\"required name=search_term_string\"},\"publisher\":{\"@type\":\"Organization\",\"name\":\"prompt2love\",\"url\":\"https://prompt2love.com\"}}"}}],["$","script",null,{"type":"application/ld+json","dangerouslySetInnerHTML":{"__html":"{\"@context\":\"https://schema.org\",\"@type\":\"Organization\",\"name\":\"prompt2love\",\"url\":\"https://prompt2love.com\",\"logo\":\"https://prompt2love.com/logo.png\",\"description\":\"AI Prompt Library \u0026 Community — save, version and share prompts for ChatGPT, Claude, Gemini and more.\",\"sameAs\":[\"https://www.linkedin.com/company/prompt2love\",\"https://x.com/prompt2love\",\"https://www.youtube.com/@prompt2love\"],\"foundingDate\":\"2024\",\"contactPoint\":{\"@type\":\"ContactPoint\",\"contactType\":\"customer support\",\"url\":\"https://prompt2love.com/legal/impressum\"}}"}}],["$","script",null,{"type":"application/ld+json","dangerouslySetInnerHTML":{"__html":"{\"@context\":\"https://schema.org\",\"@type\":\"SoftwareApplication\",\"name\":\"prompt2love\",\"applicationCategory\":\"ProductivityApplication\",\"operatingSystem\":\"Web\",\"url\":\"https://prompt2love.com\",\"description\":\"AI Prompt Library \u0026 Community — save, version and share prompts for ChatGPT, Claude, Gemini and more.\",\"offers\":{\"@type\":\"AggregateOffer\",\"priceCurrency\":\"CHF\",\"lowPrice\":\"0\",\"highPrice\":\"29\",\"offerCount\":3},\"publisher\":{\"@type\":\"Organization\",\"name\":\"prompt2love\",\"url\":\"https://prompt2love.com\"}}"}}],["$","script",null,{"type":"application/ld+json","dangerouslySetInnerHTML":{"__html":"$27"}}],"$L28","$L29"]\n"]) Prompts — Prompt2Love Community","description":"The most popular AI prompts on Prompt2Love","numberOfItems":10,"itemListElement":[{"@type":"ListItem","position":1,"item":{"@type":"CreativeWork","name":"Technical SEO Remediation Blueprint","url":"https://prompt2love.com/community"}},{"@type":"ListItem","position":2,"item":{"@type":"CreativeWork","name":"Service Mesh Configuration","url":"https://prompt2love.com/community"}},{"@type":"ListItem","position":3,"item":{"@type":"CreativeWork","name":"Twitter/X Thread Master Template","url":"https://prompt2love.com/community"}},{"@type":"ListItem","position":4,"item":{"@type":"CreativeWork","name":"Real-Time System Design (WebSockets/Polling)","url":"https://prompt2love.com/community"}},{"@type":"ListItem","position":5,"item":{"@type":"CreativeWork","name":"Guarantee \u0026 Risk Reversal Copywriter","url":"https://prompt2love.com/community"}},{"@type":"ListItem","position":6,"item":{"@type":"CreativeWork","name":"Business Hypothesis Testing \u0026 Experiment Designer","url":"https://prompt2love.com/community"}},{"@type":"ListItem","position":7,"item":{"@type":"CreativeWork","name":"Pricing Page Copy Optimizer","url":"https://prompt2love.com/community"}},{"@type":"ListItem","position":8,"item":{"@type":"CreativeWork","name":"Authentication \u0026 Authorization System Design","url":"https://prompt2love.com/community"}},{"@type":"ListItem","position":9,"item":{"@type":"CreativeWork","name":"UGC Campaign Brief \u0026 Creator Guide","url":"https://prompt2love.com/community"}},{"@type":"ListItem","position":10,"item":{"@type":"CreativeWork","name":"Multi-Layer Caching Strategy Implementer","url":"https://prompt2love.com/community"}}]}"]) 41k indexable URLs from filter combinations (?color=, ?size=) burning crawl budget; Google indexes 6k.\nFix: block parameter crawling in robots.txt, canonical filters to the clean collection.\n\n# robots.txt\nUser-agent: *\nDisallow: /*?color=\nDisallow: /*?size=\nDisallow: /*sort_by=\nSitemap: https://northpeak-gear.com/sitemap.xml\n\nImpact: crawl budget refocuses on 6k money pages — expect re-crawl of stale products within 2–3 weeks. Effort: 2h.\n\n## 2. Page Speed / Core Web Vitals — High\nDiagnosis: LCP 4.1s on PDPs — hero image 2.4MB PNG, render-blocking app CSS.\nFix: serve WebP via Shopify CDN params (append \u0026format=webp\u0026width=1000 to cdn.shopify.com image URLs) and preload the hero.\nhtml\n\u003clink rel=\"preload\" as=\"image\"\n href=\"//northpeak-gear.com/cdn/shop/products/hero.jpg?width=1000\u0026format=webp\"\n fetchpriority=\"high\"\u003e\n\nImpact: LCP → ~2.2s, lifts the 60% of PDPs failing CWV. Effort: 4h.\n\n## 3. Structured Data — High\nAdd Product + Offer + AggregateRating JSON-LD to PDPs (review stars in SERP lift CTR 12–18% for retail). Effort: 3h.\n\n## 4. Canonicalization — Medium\nSelf-referencing canonicals on paginated collection pages; rel=prev/next removed (deprecated). Effort: 2h.\n\n## 5. HTTPS — Low\nHSTS already set; one mixed-content call to a legacy review widget over http:// — swap to protocol-relative. Effort: 30m.\n\nShip order: robots.txt → WebP/preload → Product schema. First two recover the most lost equity."])\n{{service_mesh}}\n\nServices to Mesh:\n{{services}}\n\nTraffic Patterns:\n{{traffic_patterns}}\n\nSecurity Requirements:\n{{security_requirements}}\n\nKubernetes Cluster:\n{{k8s_cluster}}\n\nConfigure:\n1. Installation: Complete Istio/Linkerd installation with production profile\n2. Sidecar Injection: Automatic sidecar injection configuration and exceptions\n3. mTLS: STRICT mutual TLS for all service-to-service communication\n4. Traffic Management:\n - VirtualServices for routing rules\n - DestinationRules for load balancing (least_conn, weighted)\n - Traffic splitting for canary deployments\n - Retry policies and circuit breakers\n - Timeout configurations per service\n5. Security Policies:\n - AuthorizationPolicy for service-level access control\n - PeerAuthentication for mTLS enforcement\n - RequestAuthentication for JWT validation\n6. Ingress Gateway: External traffic entry with TLS termination\n7. Egress Control: Restricted outbound traffic, egress gateway for external APIs\n8. Observability: Kiali dashboard, distributed tracing integration, metrics\n9. Rate Limiting: Local and global rate limiting configuration\n10. Fault Injection: Chaos testing configuration per deployment\n11. Multi-Cluster: If applicable, multi-cluster mesh expansion\n12. Performance Tuning: Sidecar resource limits, access log sampling\n\nOutput complete Istio/Linkerd YAML manifests and configuration."]), checkout, payments) on EKS. STRICT mTLS everywhere, a canary split on checkout, and an authz policy that locks payments down to checkout only.\n\nyaml\n# strict mTLS for the whole namespace — no plaintext between pods\napiVersion: security.istio.io/v1\nkind: PeerAuthentication\nmetadata: { name: default, namespace: payments }\nspec:\n mtls: { mode: STRICT }\n---\n# canary: 90% to stable, 10% to the new checkout build\napiVersion: networking.istio.io/v1\nkind: VirtualService\nmetadata: { name: checkout, namespace: payments }\nspec:\n hosts: [checkout]\n http:\n - route:\n - destination: { host: checkout, subset: stable }\n weight: 90\n - destination: { host: checkout, subset: canary }\n weight: 10\n retries: { attempts: 3, perTryTimeout: 2s, retryOn: \"5xx,reset\" }\n timeout: 5s\n---\napiVersion: networking.istio.io/v1\nkind: DestinationRule\nmetadata: { name: checkout, namespace: payments }\nspec:\n host: checkout\n trafficPolicy:\n connectionPool: { tcp: { maxConnections: 100 } }\n outlierDetection: { consecutive5xxErrors: 5, interval: 30s, baseEjectionTime: 60s }\n subsets:\n - { name: stable, labels: { version: v1 } }\n - { name: canary, labels: { version: v2 } }\n---\n# only checkout may call payments — zero-trust east-west\napiVersion: security.istio.io/v1\nkind: AuthorizationPolicy\nmetadata: { name: payments-allow-checkout, namespace: payments }\nspec:\n selector: { matchLabels: { app: payments } }\n action: ALLOW\n rules:\n - from:\n - source:\n principals: [\"cluster.local/ns/payments/sa/checkout\"]\n\n\nWhat each piece buys you: PeerAuthentication STRICT enforces mutual TLS so a compromised pod can't sniff traffic; outlierDetection is the circuit breaker — it ejects an instance after 5 consecutive 5xx; the AuthorizationPolicy is identity-based (SPIFFE principal), not IP-based, so it survives pod rescheduling. Observability: enable Kiali + a 1% access-log sample to keep sidecar overhead low. Roll the canary forward by shifting the VirtualService weights."]) creators \u0026 solopreneurs. Voice: sharp, generous, no fluff.\n\n## Thread 1 — One Surprising Lesson\nT1 (hook): I grew a newsletter to 50k subscribers. The biggest lever wasn't content. It was something almost nobody does. 🧵\nT2–7: the counterintuitive insight (reader replies \u003e new posts), the data, the mechanism, an example, a mistake to avoid, the reframe.\nT8–11: actionable steps to engineer replies, the exact CTA to add, a template, the metric to watch.\nT12 (CTA): If this helped, repost T1 and follow — I break down growth like this weekly.\nWhy it works: the hook sets up an information gap ("not content — then what?") and the "surprising" frame promises payoff. Each tweet ends on a micro-cliffhanger to pull the scroll.\n\n## Thread 2 — One Surprising Lesson\nT1 (hook): I sent 200 newsletters before I learned the one thing that doubled my open rate. It takes 4 seconds per email.\n(Same structure; payoff = subject-line "curiosity + specificity" rule.)\nWhy it works: specificity ("200," "4 seconds," "doubled") makes the claim credible and the effort feel tiny.\n\n## Thread 3 — Step-by-Step Breakdown\nT1 (hook): How to get your first 1,000 newsletter subscribers in 30 days (no ads, no audience). Step-by-step: 🧵\nT2–11: numbered steps (pick a sharp niche → lead magnet → 3 distribution channels → cross-posting → referral loop), each a discrete tweet.\nT12 (CTA): Save this, then start step 1 today. Follow for the next 1k→10k breakdown.\nWhy it works: the promise is concrete and time-bound; numbered steps create a "save-it" reference loop that drives bookmarks (a strong ranking signal).\n\n## Thread 4 — Step-by-Step Breakdown\nT1 (hook): The 5-part welcome sequence that turns subscribers into superfans (steal it):\n(Numbered email-by-email breakdown with copy snippets.)\nWhy it works: "steal it" lowers friction and signals immediate utility; readers screenshot template threads.\n\n## Thread 5 — Story With a Twist\nT1 (hook): Two years ago my newsletter had 12 subscribers — and 9 were family. Here's the email that changed everything. (It almost didn't send.)\nT2–7: the struggle, the near-quit, the experiment, the unexpected viral reply, the twist (the "worst" email outperformed everything).\nT8–11: what he changed permanently, the principle, how to apply it.\nT12 (CTA): The full template's in my next post — follow so you don't miss it.\nWhy it works: open loops ("almost didn't send," "the twist") plus a relatable low-status start ("9 were family") earn empathy and keep readers to the payoff."]): {{use_case}} (e.g., live chat, real-time collaboration, live notifications, gaming, financial tickers)\nConcurrent Connection Target: {{concurrent_connection_target}} (number of simultaneous WebSocket connections)\nMessage Pattern: {{message_pattern}} (broadcast, room/channel-based, 1:1, presence/typing indicators)\nClient Types: {{client_types}} (web browsers, mobile apps, IoT devices, third-party integrations)\n\nProvide:\n1. Connection Architecture - WebSocket server design, connection acceptance flow, handshake optimization\n2. Horizontal Scaling - How to distribute connections across nodes with sticky sessions or shared state\n3. Pub/Sub Backbone - Redis Pub/Sub, Redis Streams, NATS, or Kafka for cross-node message delivery\n4. Room/Channel Management - How clients join/leave channels, channel state distribution, channel sharding\n5. Presence System - Online/offline tracking, last-seen timestamps, presence fan-out optimization\n6. Message History - Persistence strategy, pagination, message retention policies, archive storage\n7. Fallback Strategy - Long-polling, SSE, periodic polling for clients that cannot use WebSockets\n8. Heartbeat \u0026 Reconnection - Ping/pong intervals, exponential backoff reconnection, missed message recovery\n9. Backpressure Handling - Rate limiting per connection, message dropping policies, slow consumer handling\n10. Load Testing Plan - How to simulate 100K+ concurrent connections, message throughput testing\n11. Infrastructure Design - Load balancer configuration (Layer 4 vs Layer 7), proxy settings (nginx/HAProxy), K8s service type\n12. Security - Connection authentication (JWT token in query param), payload encryption, origin validation\n13. Monitoring - Connection count metrics, message latency histograms, disconnection reason tracking\n\nInclude connection state diagrams and pseudocode for the WebSocket server connection handler."]) targeting 100k concurrent WebSocket connections, room-based with presence. The trick is keeping nodes stateless — connection affinity stays local, message fan-out goes through Redis.\n\nConnection handler (pseudocode)\n\non connection:\n token = url.query.token\n user = verifyJwt(token) || close(4401) # auth in the handshake\n registerLocal(user.id, socket) # in-memory map on this node\n redis.subscribe(\"room:\" + roomId) # cross-node delivery\n redis.sadd(\"presence:\" + roomId, user.id)\n broadcastLocal(roomId, presenceEvent(user, \"online\"))\n\non message(msg):\n redis.publish(\"room:\" + msg.roomId, msg) # every node with members delivers\n\non disconnect:\n unregisterLocal(user.id)\n redis.srem(\"presence:\" + roomId, user.id)\n\n\nScaling: connections spread across nodes via a Layer-4 LB (no sticky sessions needed — state isn't node-local beyond the socket map). Redis Pub/Sub is the backbone; for replayable history we also append to a Redis Stream per room. Presence uses a TTL'd set refreshed by heartbeat, so a crashed client ages out in ~30s.\n\nResilience: ping/pong every 25s; client reconnects with exponential backoff and replays missed messages via last_seen_id against the stream. Backpressure: per-connection send-queue cap — a slow consumer gets dropped rather than ballooning node memory. Fallback: clients behind hostile proxies degrade to SSE, then long-polling. Infra is K8s with a LoadBalancer service and nginx tuned to worker_connections 65535."]) consumable supplement. Audience: health-conscious adults 30–55. Primary objection: "what if it tastes bad / doesn't do anything." Policy: 60-day money-back, even if empty.\n\n## 1. Guarantee headlines (10)\n1. The 60-Day Love-It-or-It's-Free Promise\n2. Try Peak Greens Risk-Free for 60 Days\n3. Drink It All. Hate It? Full Refund.\n4. The Peak Greens Guarantee\n5. Feel the Difference or Pay Nothing\n6. 60 Days. Zero Risk. All Yours.\n7. Empty the Tub, Keep Your Money\n8. No Results? No Charge.\n9. The "Send the Empty Tub Back" Guarantee\n10. Your Energy, Guaranteed — or Refunded\n\n## 2. Full guarantee copy\nHere's our promise, in plain words. Drink Peak Greens every day for 60 days. Mix it, sip it, make it part of your morning. If you don't feel more energized, less bloated, and genuinely better — email us and we'll refund every cent. You don't even have to return the tub. Especially if it's empty: that tells us you gave it a fair shot, and a fair shot is all we ask. To claim, reply to your order email with the word "refund" — no forms, no upsell gauntlet, no "manager will call you back." One email, money returned within 5 business days. We can offer this because we know the first two weeks usually sell themselves. We'd rather earn a customer for life than trap a sale for a month.\n\n## 3. Risk-reversal stack\nMoney-back (60 days) + keep-the-tub + keep-the-free-shaker-bonus + results-based ("if you don't feel a difference in 14 days") + no-questions-asked.\n\n## 4. Objection preempters\n- "It'll taste like grass." — Mint-vanilla, 4.7/5 on taste.\n- "Supplements never work for me." — That's exactly why the guarantee exists.\n- "Refunds are a hassle." — One email. Done.\n- "What if I forget to cancel?" — One-off purchase; no subscription trap.\n- "Is it just hype?" — 18,000 tubs sold, 2% refund rate.\n\n## 5. Badge copy (5)\n"60-Day Guarantee" · "Love It or It's Free" · "Risk-Free Trial" · "Empty-Tub Refund" · "100% Money-Back."\n\n## 6. Post-purchase reassurance\n"Smart move. Your Peak Greens is on the way — and remember, you've got 60 days, no strings. We're betting you'll reorder before then."\n\n## 7. Competitive comparison\nMost supplement brands offer 14–30 days and require an unopened return. We give you double the time and let you finish the tub. That's confidence, not fine print."]): [State the 'no effect' version]\nAlternative Hypothesis (H₁): [State the predicted effect version]\nDirectional vs. Non-directional: [One-tailed or two-tailed test?]\n\nSMART Hypothesis Check:\n| Criterion | Assessment | Pass? |\n|-----------|-----------|-------|\n| Specific | Is the effect clearly defined? | |\n| Measurable | Can we measure the outcome precisely? | |\n| Actionable | Will the result drive a decision? | |\n| Realistic | Is the expected effect plausible? | |\n| Time-bound | Can we get results in a reasonable timeframe? | |\n\n## 2. EXPERIMENTAL DESIGN\n### Design Type: [A/B / Multivariate / Before-After / Interrupted Time Series / Synthetic Control]\n\nTreatment Group:\n- Definition: Who/what gets the intervention?\n- Sample size: [N] — with power calculation justification\n- Treatment details: Exactly what changes?\n- Duration: How long will treatment last?\n\nControl Group:\n- Definition: Who/what doesn't get the intervention?\n- Sample size: [N]\n- Control condition: What do they experience instead?\n- Why this control: [Hold-out / Placebo / Status quo / Historical]\n\nRandomization Strategy:\n- Unit of randomization: [User / Session / Geographic / Time-based / Cluster]\n- Method: [Simple / Stratified / Cluster / Matched pair]\n- Stratification variables (if any):\n\n## 3. SUCCESS METRICS FRAMEWORK\n\n| Metric Type | Metric Name | Formula | Current Baseline | Target | Measurement Method |\n|-------------|-------------|---------|-----------------|--------|-------------------|\n\nPrimary Metric (1 only — the decision metric):\n- Why this metric: [Directly tied to business outcome]\n- Minimum Detectable Effect (MDE): [X%] — the smallest effect worth detecting\n\nGuardrail Metrics (2-4 — must not degrade significantly):\n- e.g., Revenue per user, Customer satisfaction, Churn rate, Page load time\n\nSecondary Metrics (2-4 — exploratory, generate follow-up hypotheses):\n\n## 4. SAMPLE SIZE \u0026 POWER CALCULATION\n- Significance level (α): 0.05 (standard) or {{custom}}\n- Statistical power (1-β): 0.80 (standard) or {{custom}}\n- Minimum Detectable Effect: {{X%}} or calculate based on baseline\n- Required sample size per variant: [N]\n- Total sample needed: [N]\n- Estimated experiment duration to reach sample: [Days]\n- If sample is insufficient: Recommendations (sequential testing? lower power? larger MDE?)\n\n## 5. STATISTICAL ANALYSIS PLAN\n- Primary test: [t-test / chi-square / Mann-Whitney U / OLS regression / Bayesian]\n- Multiple comparison correction (if testing multiple metrics): [Bonferroni / Holm-Bonferroni / False Discovery Rate]\n- Segmentation analysis: Pre-planned subgroup analyses (avoid data dredging)\n- Covariates to control for: [List]\n\n## 6. EXPERIMENT PROTOCOL\n### Timeline:\n| Phase | Activity | Duration | Owner | Deliverable |\n|-------|----------|----------|-------|-------------|\n\n### Pre-launch Checklist:\n- [ ] QA on treatment delivery\n- [ ] Data pipeline validation\n- [ ] Sample size validation\n- [ ] Stakeholder alignment on early stopping rules\n\n### During Experiment:\n- Monitoring cadence: [Daily / Weekly]\n- Interim peeking rules: [No peeking / Group sequential / Always valid p-values]\n- Early stopping criteria: [Success boundary / Harm boundary / Futility]\n\n## 7. RESULTS INTERPRETATION FRAMEWORK\nBefore seeing results, define:\n- Win: Primary metric improvement statistically significant AND guardrails OK → Full rollout\n- Loss: Statistically significant harm on primary or guardrail metrics → Stop and investigate\n- Inconclusive: Not statistically significant but directionally positive → Iterate and retest with changes\n- Flat: No meaningful direction → Consider different hypothesis\n\n## 8. POST-EXPERIMENT PLAN\n- Rollout strategy (if win): Phased vs. immediate, monitoring period\n- Rollback plan (if loss): How to reverse treatment\n- Follow-up experiments generated by results\n- Learning documentation template"]) doubling the trial from 7 to 14 days lifts paid conversion by 20%. Decision: roll out if it wins without hurting CAC payback. Type: A/B. Risk: moderate.\n\n## 1. Hypothesis\n- H₀: trial length has no effect on paid conversion.\n- H₁: 14-day trial increases conversion (one-tailed).\n\n## 2. Design\nTreatment: new signups get 14 days. Control: 7 days (status quo). Randomization: by user, simple, hashed on user-id. Stratify by acquisition channel.\n\n## 3. Metrics\n\n| Type | Metric | Baseline | Target |\n|------|--------|----------|--------|\n| Primary | Trial→paid conversion | 9.0% | +20% rel (≥10.8%) |\n| Guardrail | CAC payback months | 11 | no worse |\n| Guardrail | Refund rate | 3% | no worse |\n\nMDE: 1.8pp absolute. α = 0.05, power = 0.80.\n\n## 4. Sample / Power\nRequired ≈ 8,400 per arm. At ~600 signups/day split 50/50 → ~28 days to power. Run a full 4 weeks to absorb weekly seasonality.\n\n## 5. Analysis\nTwo-proportion z-test on the primary; check guardrails with non-inferiority margins. No peeking before day 14; group-sequential boundary if we must look early.\n\n## 6. Decision Rules\n- Win: primary significant + guardrails OK → full rollout.\n- Loss: payback degrades materially → stop.\n- Inconclusive: directionally up, not significant → extend or iterate copy.\n\n## Pre-launch checklist\n- [ ] Trial-timer logic QA'd\n- [ ] Channel stratification verified\n- [ ] Stop rules agreed with finance"]) Starter $0, Pro $29, Business $79. Audience: marketers and small teams. Recommended: Pro.\n\n## 1. Headlines (anchoring)\n1. Plans that scale from your first form to your millionth response\n2. Start free. Upgrade when the leads roll in.\n3. Powerful forms for the price of a team lunch\n4. Most teams pick Pro — here's why\n5. Everything you need to capture more leads, nothing you don't\n\n## 2 \u0026 3. Pricing cards\n| | Starter | Pro ⭐ Most Popular | Business |\n|---|---|---|---|\n| Price | $0/mo | $29/mo | $79/mo |\n| Billing | Free forever | Billed annually ($35 monthly) | Billed annually |\n| Features | • 3 forms\u003cbr\u003e• 100 responses/mo\u003cbr\u003e• Basic fields\u003cbr\u003e• Brightform branding | • Unlimited forms\u003cbr\u003e• 10,000 responses/mo\u003cbr\u003e• Logic \u0026 branching\u003cbr\u003e• Remove branding\u003cbr\u003e• Integrations (Slack, HubSpot) | • Everything in Pro\u003cbr\u003e• 100,000 responses\u003cbr\u003e• Team roles \u0026 SSO\u003cbr\u003e• Priority support\u003cbr\u003e• Custom domains |\n| Best for | Trying it out | Growing teams \u0026 marketers | Scaling orgs |\n| CTA | Start free | Start 14-day Pro trial | Talk to sales |\n\n## 4. Recommended highlighting\nPro card lifted, bordered, "Most Popular" ribbon. Micro-copy under price: "Best value — 87% of paid users choose Pro." Business acts as the decoy that makes Pro feel generous.\n\n## 5. Comparison section\nFeature-by-feature table (12 rows) with ✓ / ✗ across tiers — logic, branding removal, integrations, SSO, support SLA.\n\n## 6. Social proof bar\n"Trusted by 18,000+ teams · 40M forms submitted"\n\n## 7. FAQ\n- Why pricier than [budget tool]? They cap responses and lock logic behind add-ons; Pro includes both.\n- Can I switch monthly/annual? Anytime — annual saves ~17%.\n- What if I exceed responses? We notify you; no surprise overage charges.\n- Is there a free plan forever? Yes — Starter never expires.\n- Refunds? 30-day money-back on annual.\n\n## 8. Risk reversal\n"14-day Pro trial, no card. 30-day money-back on annual plans. Cancel in one click."\n\n## 9. Enterprise\n"Need 500k+ responses, SAML SSO, or a custom DPA? Build a custom plan."\n\n## 10. Annual anchor\nToggle shows "$29/mo billed annually — save $72/yr vs monthly," anchoring the monthly $35 as the loss."]): {{application_type}} (SaaS platform, mobile app, enterprise B2B, consumer app)\nUser Types: {{user_types}} (end users, admins, API clients, service accounts, third-party integrations)\nIdentity Sources: {{identity_sources}} (local database, Google SSO, enterprise SAML/LDAP, social logins)\nSecurity Requirements: {{security_requirements}} (MFA, passwordless, compliance (SOC2/ISO27001), breach history)\n\nDesign the complete auth system:\n1. Authentication Flows - Username/password, OAuth2 Authorization Code + PKCE, SAML 2.0 SSO, magic links, WebAuthn/Passkeys, client credentials\n2. Identity Provider Architecture - Self-hosted (Keycloak/Dex) vs managed (Auth0/AWS Cognito/Azure AD B2C) decision matrix\n3. Token Strategy - JWT access tokens (RS256) + refresh tokens, opaque tokens, token binding, short-lived access tokens (5-15 min)\n4. Session Management - Stateless JWT vs stateful sessions, Redis session store, concurrent session limits, device fingerprinting\n5. Multi-Factor Authentication - TOTP (Google Authenticator), SMS OTP (with fallback warnings), WebAuthn/FIDO2, backup codes\n6. Password Policy - NIST 800-63B compliant (minimum 8 chars, no complexity requirements, breach database checking), Argon2id hashing\n7. RBAC Design - Role hierarchy, permission granularity (resource + action), role assignment API, default roles\n8. ABAC Extension - Policy-based access with attributes (time, location, device, subscription tier), OPA/Rego policies\n9. API Security - API key management (scoped, rotatable), mTLS for service-to-service, JWT validation middleware pattern\n10. Account Security Features - Brute force protection (exponential backoff), account lockout, suspicious login detection, forced password reset\n11. Audit \u0026 Compliance - Complete audit log schema (who, what, when, where, result), log retention, tamper-proof storage\n12. Token Revocation - Revocation list strategy, logout flows, password change token invalidation, global sign-out\n13. OAuth2 Scope Design - Granular scopes, consent screen design, third-party app approval workflow\n\nInclude sequence diagrams for login, token refresh, and logout flows, and sample JWT claims structure."]) (end users + admins + service accounts; Google SSO, enterprise SAML, local accounts; SOC2 + MFA). Short-lived JWTs, stateful refresh, passkeys first.\n\nLogin (Authorization Code + PKCE)\n\nClient ─▶ /authorize (code_challenge) ─▶ IdP login + MFA\n ◀─ redirect ?code ──────────────\n ─▶ /token (code, code_verifier) ─▶ access JWT (10m) + refresh (rotating)\n\n\nToken strategy: access tokens are RS256 JWTs, 10-min TTL, validated at the edge without a DB hit. Refresh tokens are opaque, stored server-side, and rotate on every use — a replayed refresh token revokes the whole chain (theft detection).\n\nSample access-token claims:\njson\n{ \"sub\": \"usr_812\", \"org\": \"org_44\", \"roles\": [\"admin\"],\n \"scope\": \"orders:read orders:write\", \"exp\": 1717250000, \"amr\": [\"pwd\", \"otp\"] }\n\n\nAuthorization: RBAC for coarse roles, ABAC (OPA/Rego) layered on for attribute rules like "only during business hours from a managed device". MFA: WebAuthn/passkeys primary, TOTP fallback, SMS only as a last resort with an explicit weak-factor warning. Passwords: NIST 800-63B — 8-char minimum, no forced complexity, checked against a breach corpus, hashed with Argon2id. Logout \u0026 revocation: refresh chain invalidated server-side; a short access-token TTL bounds the blast radius to 10 minutes. Every auth decision lands in an append-only audit log (who/what/when/where/result)."]) the unfiltered 14-day glow check. Hook: "Show your skin on day 1 and day 14 — no filter, no edit." Narrative: real transformations, not airbrushed promises.\n\n## Creator brief\n- Required shots (5): bare-face day 1 · the morning application · a candid "day 7 check-in" · bare-face day 14 · a to-camera honest verdict.\n- Talking points: "fragrance-free," "two drops is enough," "results, not magic."\n- Do: natural lighting, real reactions. Don't: medical claims, heavy filters, overstated promises.\n- Audio: trending sound or calm voiceover. Submit: raw file + posted link via the portal.\n\n## Recruitment + incentives\nSource 50–100 micro-creators via hashtag + agency list. Tiered: flat fee per asset → bonus for \u003e50k views → top creator becomes paid ambassador.\n\n## Amplification\nBest UGC → Spark Ads (whitelisting), organic reposts, PDP embeds, and an email "real results" section.\n\nLegal: usage rights in contract, #ad disclosure required, model release on file. KPIs: UGC volume, ER, cost-per-asset, PDP conversion lift. Timeline: 8 weeks brief → recruit → create → amplify. Sample outreach: "Your honest skincare reviews are exactly our vibe — want to run a no-filter 14-day glow test with us?""]) - Typed wrapper around {{cache_provider}} with:\n - Connection pooling and health checks\n - Serialization/deserialization (JSON, MessagePack, or protobuf)\n - Key namespacing and versioning\n - TTL management with jitter\n2. Cache Strategies - Implement these patterns:\n - Cache-Aside (lazy loading)\n - Write-Through (immediate consistency)\n - Write-Behind (async durability, if applicable)\n - Refresh-Ahead (proactive refresh before expiry)\n3. Stampede Protection - Dog-piling prevention using locks/probabilistic early refresh\n4. Cache Key Builder - Type-safe key construction preventing collisions\n5. Invalidation Logic - Tag-based and pattern-based invalidation\n6. Circuit Breaker - Fallback to origin on cache failure\n7. Metrics - Hit/miss ratio, latency, evictions tracking\n8. Serialization - Efficient serialization with schema versioning\n9. Multi-Tier - L1 (in-memory) → L2 (Redis) → Origin if configured\n10. Decorator/Aspect - @Cacheable, @CacheEvict, @CachePut decorators\n\n## Output\n1. Complete cache implementation\n2. Usage examples for each strategy\n3. Cache topology diagram (ASCII)\n4. Configuration with sensible defaults\n5. Invalidation flow documentation\n6. Unit tests with mocked cache provider"])\n\n## Topology\n\nrequest ─▶ L1 (in-proc Map) ─miss─▶ L2 (Redis) ─miss─▶ Postgres origin\n\n\nInvalidation: await cache.invalidateTag(\"product:42\") drops every key tagged with that product. Defaults: 5-min TTL with delta-scaled jitter so keys don't all expire together. Falls back to the origin if Redis is unreachable."]) "Dinner's handled — here's your 5 recipes"\nPreview: Plus what to expect from me this week.\nBody: Hi [First]! Your 5 Weeknight Dinners are attached — start with the 15-minute sheet-pan chicken, it's the crowd-pleaser. Over the next few days I'll show you how parents are reclaiming their evenings. No more 5pm "what's for dinner?" panic.\nCTA: Grab your recipes →\n\n## Email 2 — Brand Story (Day 1)\nSubject: "I built this after one too many cereal dinners"\nBody: Founder's origin: the Tuesday I served cereal for dinner (again) and decided there had to be a better way.\n\n## Email 4 — Social Proof (Day 3)\nSubject: "47,000 dinners planned this week alone"\nBody: "I haven't asked 'what's for dinner' in 3 months." — Priya, mom of two. Real screenshots.\n\n## Email 5 — Product Deep Dive (Day 5)\nSubject: "The 'auto-build my week' button you'll love"\nBody: Feature spotlight: tap once, get a full week + grocery list sorted by aisle.\nCTA: Start your free trial →\n\n## Email 6 — Conversion (Day 7)\nSubject: "Your free week of dinner planning"\nBody: Trial + FAQ + "cancel anytime, keep the recipes."\n\n(Emails 3 and 7 written in full.) A/B: test Email 1 subject benefit vs curiosity first."]) 6 must-reply emails × avg 5 min = ~30 min. Fits your 45-min window with buffer.\n\nDraft 1 — Acme renewal (Sarah): "Hi Sarah, yes — happy to lock in the renewal at the current tier. I'll have the updated SOW to you by Thursday EOD. One question: same seat count, or are you adding the two new hires? Best, —"\n\nDraft 2 — Budget sign-off: "Approved on my end. I've flagged the marketing line for a 10% trim — see comment in the sheet. Good to proceed."\n\nDraft 3 — API question: "Short answer: use the v2 endpoint, the v1 sunset is Dec 31. Longer context in the thread I just forwarded. Ping me if the auth header trips you up."\n\nArchive 4 CC-only emails (standup notes, 2 FYI threads, calendar confirm) — you're not the owner on any."]) "The unglamorous truth about building a SaaS." One-liner: "Real MRR, real churn, real mistakes — founders open the books."\n\n## Format\n35–45 min · cold-open hook → "the number this week" → main interview → "one thing I'd undo" → CTA.\n\n## 20 episode ideas (sample 5)\n| Title | Guest | Takeaway |\n|-------|-------|----------|\n| "We hit $10k MRR then lost half" | Interview | churn is a product problem |\n| "I fired myself as CEO" | Solo | when to hire above you |\n| "Cold email built our first 100 customers" | Interview | outbound that doesn't feel gross |\n| "The pricing change that doubled revenue" | Interview | value metric selection |\n| "Burnout almost killed the company" | Solo | sustainable pace |\n\n## Season + promo\n10 eps/season, themed (Season 1: 0→$10k). Per episode → 5 clips: the spicy take, the number reveal, the mistake, a tactical tip, a 3-word teaser. Audiograms + quote cards + newsletter recap.\n\nMonetization: sponsor deck (CPM + host-read), affiliate stack, paid "founder Q\u0026A" tier. Launch: 3-episode drop, guest-amplification swap, Product Hunt + indie communities. SEO: show notes with timestamps + keyword-rich titles ("SaaS churn," "bootstrapped pricing")."])\n{{system_architecture}}\n\nIncident Type:\n{{incident_type}}\n\nAffected Services:\n{{affected_services}}\n\nSeverity Level:\n{{severity_level}}\n\nTeam Structure:\n{{team_structure}}\n\nOn-Call Rotation:\n{{oncall_rotation}}\n\nEscalation Policy:\n{{escalation_policy}}\n\nGenerate:\n1. Incident Response Plan:\n - Triage checklist (first 5 minutes, first 15 minutes, first hour)\n - Communication templates (internal, customer-facing, executive)\n - Severity classification and SLAs\n2. Runbook for {{incident_type}}: Step-by-step diagnosis and remediation procedures\n3. War Room Setup: Video bridge, Slack channel naming, role assignments (IC, scribe, communications)\n4. Detection \u0026 Alerting: Specific alerts that should have triggered, alert improvement recommendations\n5. Rollback Procedures: Safe rollback steps for each affected service with verification\n6. Communication Timeline: When and how to communicate with stakeholders\n7. Post-Mortem Template: Structured blameless post-mortem with timeline, 5 Whys, action items\n8. Follow-Up Actions: CAP (Corrective Action Plan) with owners and deadlines\n9. Prevention Measures: Technical and process changes to prevent recurrence\n10. Metrics: How to measure incident response effectiveness (MTTR, MTTD)\n\nOutput ready-to-use documents that the team can execute during a live incident."])\n\n- First 5 min — declare the incident, page the on-call DBA, open #inc-db-failover, assign roles (IC, scribe, comms). Confirm scope: is it the primary or a network partition?\n- First 15 min — promote the replica (pg_ctl promote / managed failover), repoint the app's DATABASE_URL, verify writes succeed. Post the first customer status update.\n- First hour — confirm replication re-established to a new standby, monitor error rate back to baseline, draft the timeline.\n\nRunbook — promote replica:\nbash\n# 1. confirm primary is truly down (not a flapping LB)\npg_isready -h primary.db.internal || echo \"primary unreachable\"\n# 2. promote the standby\naws rds failover-db-cluster --db-cluster-identifier checkout-prod\n# 3. verify the new primary accepts writes\npsql -h primary.db.internal -c \"INSERT INTO _healthcheck DEFAULT VALUES;\"\n\n\nComms templates — internal ("investigating elevated errors on checkout"), customer-facing ("some users may see delays placing orders, we are on it"), exec (impact + ETA).\n\nBlameless post-mortem skeleton: timeline → 5 Whys → contributing factors → corrective actions with owners + dates. Metrics to capture: MTTD (alert → ack), MTTR (ack → resolved). Prevention candidate from this class: automate failover so promotion is not a manual 15-minute step."])Designed for retention (front-loaded hooks), loop-ability (15s reveals), and shares (save/tag CTAs)."]) 10–15 fresh pins/day, schedule via Tailwind, peak evenings. Funnel: every pin → blog post → email opt-in ("free seasonal menu"). Seasonal: plan 3 months ahead (pin fall in August). Track: outbound clicks, saves, top pins. Paid: promote 3 proven pins, 100 EUR/mo. Sample month: week 1 recipes, week 2 decor, week 3 hosting, week 4 mix."]) recent post reference is non-negotiable.\n\n1. Cold outreach (micro, first contact)\nSubject: Loved your barrier-repair routine, Mara\n"Hi Mara — your reel on slugging for sensitive skin actually changed my night routine. I run social at Lumea (fragrance-free, barrier-first skincare) and your audience feels like exactly who we make this for. Could I send you our Cica Recovery Set, no strings, just to try? If you love it, we'd talk a paid collab from there." Comp: free product → paid if it clicks. Next: reply or DM. Follow-up: +4 days.\n\n2. No-response follow-up\n"Hi Mara, floating this back up — totally get the inbox chaos. Still happy to send the set over, zero obligation. Yes or no is a perfect answer." (+4 days, then close the loop.)\n\n3. Gifting (no payment)\n"We'd love to gift you our new SPF — no posting required. If it earns a spot in your routine, even a Story would mean a lot."\n\n4. Paid pitch (rate discussion)\n"For one in-feed reel + 2 Stories, our budget is 150–600 EUR depending on usage rights. What are your rates for that scope?"\n\n5–10 (one line each): Affiliate (20% code, 30-day cookie) · Ambassador (quarterly drops + flat retainer) · Event collab (launch dinner, content day) · Organic user ("you already use us — let's make it official") · Re-engagement ("your last reel outperformed — round two?") · UGC creator (rate per asset, whitelisting rights).\n\nRed flags: bought-follower spikes, comment pods, no FTC disclosure history."]) "Ship reliable data pipelines without the 3am pages." About (variation A, excerpt): "DataNest catches broken pipelines before your dashboards lie to your CEO." Custom button → "View demo." Cover: a clean pipeline diagram with one red broken node.\n\n## Content strategy\n5 pillars — Engineering tips · Customer proof · Hot takes on the modern data stack · Hiring/culture · Product. Post 4x/week, Tue–Thu mornings. Mix: 35% document, 25% text, 20% video, 20% poll.\n\n## 20 post templates (samples)\n- Thought leadership: "Your data team isn't slow. Your tooling is."\n- Document: "The pre-flight checklist we run before every pipeline deploy (steal it)."\n- Poll: "How do you find out a pipeline broke? a) alert b) a Slack from sales c) the CEO."\n- Employee spotlight + lead magnet ("The Pipeline Reliability Playbook — free PDF").\n\n## Growth + leads\nEmployee advocacy: 12 engineers reshare with a personal line. Lead Gen Forms on the playbook. Comment strategy: be first + useful under big data-influencer posts.\n\nHashtags: 30 sorted by reach (#dataengineering #moderndatastack #analyticsengineering…). Track weekly: follower growth, post impressions, CTR on lead magnets. Watch competitors Streamline and PipeWorks for content gaps."]) | Quick questions, FYIs | Decisions, anything needing a record |\n| Slack DM | Truly personal/sensitive | Work that others should see |\n| Notion docs | Decisions, specs, anything durable | Real-time chat |\n| Email | External + formal | Internal quick questions |\n| Video call | Brainstorm, conflict, relationship | Status updates |\n\n## 2. Response-time expectations\n| Urgency | Channel | Expected response |\n|---------|---------|-------------------|\n| FYI | Slack/Notion comment | No reply needed |\n| Normal | Slack #team | Within 1 working day (your TZ) |\n| Time-sensitive | Slack + @mention | Within 4 working hours |\n| Urgent (rare) | Phone call / @here + reason | ASAP — must justify |\n\nDefault is async. No one owes an instant reply.\n\n## 3. When to meet vs write\n\nIs it a decision with \u003e2 viewpoints? → meet (or threaded async vote)\nIs it status/FYI? → write\nIs it emotionally charged? → meet/call\nCan it wait 24h? → write\n\n\n## 4. Async update templates\n- Daily (optional): Done / Doing / Blocked, 3 lines.\n- Weekly: Wins / Risks / Next, posted Friday.\n- Project: Status (green/yellow/red) / Decisions needed / Owner / ETA.\n\n## 5. Escalation protocol\nBlocked \u003e4h on time-sensitive work → @mention owner; \u003e1 business day → @here in #team with the blocker and what you need.\n\n## 6. Documentation standard\nEvery decision gets a Notion entry: context, options, decision, owner, date. "If it's not written, it didn't happen."\n\n## 7. Onboarding checklist (new hires)\n- [ ] Read this handbook\n- [ ] Set Slack notification schedule to working hours\n- [ ] Post a "my hours + time zone" intro\n- [ ] Practice one async weekly update\n\nBefore/after: Before: "URGENT can you look at this???" (9pm DM). After: a #team post tagged Normal, answered next morning — no false alarm, no burnout."]) Mon = Planning · Tue/Wed = Deep Work · Thu = Collaboration · Fri = Review\n\n| Day | Theme | Priority | Milestone |\n|-----|-------|----------|-----------|\n| Mon | Planning \u0026 admin | 6/10 | Roadmap locked |\n| Tue | Deep work | 9/10 | Auth refactor done |\n| Wed | Deep work | 9/10 | Billing tests green |\n| Thu | Collaboration | 7/10 | Design review shipped |\n| Fri | Review \u0026 buffer | 5/10 | Week closed clean |\n\nTime allocation: Deep Work 45% · Meetings 20% · Admin 15% · Learning 20%\n\nFriday review checklist:\n- [ ] What moved the needle?\n- [ ] What got dropped — and was that right?\n- [ ] Next week's one big rock\n\nLikely derailer: Wed's \"quick\" stakeholder sync expands. Mitigation: hard-stop at 30 min, agenda sent in advance.","status":"neu","isFavorite":false,"lastUsedAt":null,"language":"en","promptType":"one-shot","sourceUrl":null,"sourceUserId":null,"forkedFromPromptId":null,"contentHash":null,"isDuplicateTitle":false,"slug":"weekly-planning-dashboard-2tn3hu","isDeleted":false,"isDemo":true,"position":0,"viewCount":1090,"downloadCount":0,"voteScore":56,"hotScore":56,"aeoSummary":"Creates a comprehensive weekly plan with theme days, priority allocation, and progress tracking across personal and professional goals.","embedding":null,"externalRunCount":{},"embedCount":0,"createdAt":"2026-05-26T03:51:55.319Z","updatedAt":"2026-05-26T03:51:55.319Z","voteCount":0,"hasVoted":false,"userVote":null},{"id":"109c6441-5df5-4164-9c80-f49ce292521d","title":"Influencer Outreach Message Templates","description":"Create 10 personalized influencer outreach templates for different campaign types, tiers, and relationship stages.","content":"$4a","imageUrl":null,"coverImageUrl":null,"tags":["influencer-marketing","outreach","claude-sonnet-4","gpt-4o","gemini-2.5-pro"],"categoryId":null,"workspaceId":null,"ownerId":"seed_madison_carter","teamId":null,"aiTool":null,"isPublic":true,"publicCategory":"Marketing","outputType":"text","outputContent":"$4b","status":"neu","isFavorite":false,"lastUsedAt":null,"language":"en","promptType":"one-shot","sourceUrl":null,"sourceUserId":null,"forkedFromPromptId":null,"contentHash":null,"isDuplicateTitle":false,"slug":"influencer-outreach-message-templates-di54t1","isDeleted":false,"isDemo":true,"position":0,"viewCount":570,"downloadCount":0,"voteScore":55,"hotScore":55,"aeoSummary":"Create 10 personalized influencer outreach templates for different campaign types, tiers, and relationship stages.","embedding":null,"externalRunCount":{},"embedCount":0,"createdAt":"2026-05-31T16:12:36.448Z","updatedAt":"2026-05-31T16:12:36.448Z","voteCount":0,"hasVoted":false,"userVote":null},{"id":"acc231d2-5938-48b3-b14b-a836d9e34401","title":"LinkedIn Company Page Growth System","description":"A comprehensive LinkedIn company page strategy to boost followers, engagement, and lead generation.","content":"$4c","imageUrl":null,"coverImageUrl":null,"tags":["linkedin","b2b","claude-sonnet-4","gpt-4o","gemini-2.5-pro"],"categoryId":null,"workspaceId":null,"ownerId":"seed_madison_carter","teamId":null,"aiTool":null,"isPublic":true,"publicCategory":"Marketing","outputType":"text","outputContent":"$4d","status":"neu","isFavorite":false,"lastUsedAt":null,"language":"en","promptType":"one-shot","sourceUrl":null,"sourceUserId":null,"forkedFromPromptId":null,"contentHash":null,"isDuplicateTitle":false,"slug":"linkedin-company-page-growth-system-pzypg4","isDeleted":false,"isDemo":true,"position":0,"viewCount":772,"downloadCount":0,"voteScore":54,"hotScore":54,"aeoSummary":"A comprehensive LinkedIn company page strategy to boost followers, engagement, and lead generation.","embedding":null,"externalRunCount":{},"embedCount":0,"createdAt":"2026-05-26T21:08:24.296Z","updatedAt":"2026-05-26T21:08:24.296Z","voteCount":0,"hasVoted":false,"userVote":null},{"id":"8ee07ba4-c700-4113-841c-074df9d84a9d","title":"Async Communication Guidelines Generator","description":"Creates team async communication protocols with response time expectations, channel ownership, and escalation rules.","content":"You are a remote work consultant specializing in async communication. Our team has {{team_size}} people across {{time_zones}} time zones. Our current pain points: {{communication_pain_points}}. Tools we use: {{communication_tools}}. Our work type: {{work_type}}. Urgency levels we need: {{urgency_levels}}. Create: (1) A channel/tool purpose matrix (what goes where), (2) Response time expectations by urgency and channel, (3) 'When to meet vs when to write' decision tree, (4) Async update templates (daily, weekly, project), (5) Escalation protocol for blocked work, (6) Documentation standards and expectations, (7) Onboarding checklist for new team members on our async culture. Format as a team handbook section. Include specific examples of before/after communication scenarios.","imageUrl":null,"coverImageUrl":null,"tags":["async-communication","team-workflows","claude-sonnet-4","gpt-4o","gemini-2.5-pro"],"categoryId":null,"workspaceId":null,"ownerId":"seed_julia_moser","teamId":null,"aiTool":null,"isPublic":true,"publicCategory":"Content","outputType":"text","outputContent":"$4e","status":"neu","isFavorite":false,"lastUsedAt":null,"language":"en","promptType":"one-shot","sourceUrl":null,"sourceUserId":null,"forkedFromPromptId":null,"contentHash":null,"isDuplicateTitle":false,"slug":"async-communication-guidelines-generator-j6hsf2","isDeleted":false,"isDemo":true,"position":0,"viewCount":708,"downloadCount":0,"voteScore":52,"hotScore":52,"aeoSummary":"Creates team async communication protocols with response time expectations, channel ownership, and escalation rules.","embedding":null,"externalRunCount":{},"embedCount":0,"createdAt":"2026-05-30T17:37:22.897Z","updatedAt":"2026-05-30T17:37:22.897Z","voteCount":0,"hasVoted":false,"userVote":null}]}]\n"]) — AI Prompt Library \u0026 Community"}],["$","meta","12",{"property":"og:description","content":"Build your AI prompt library. Save, version and share prompts for ChatGPT, Claude, Gemini \u0026 more. Free to start."}],["$","meta","13",{"property":"og:locale","content":"en_US"}],["$","meta","14",{"property":"og:image","content":"https://prompt2love.com/og-cover.png"}],["$","meta","15",{"property":"og:image:width","content":"1600"}],["$","meta","16",{"property":"og:image:height","content":"900"}],["$","meta","17",{"property":"og:image:alt","content":"Prompt2Love — AI Prompt Library \u0026 Community"}],["$","meta","18",{"property":"og:locale:alternate","content":"de_DE"}],["$","meta","19",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","20",{"name":"twitter:title","content":"Prompt2Love — AI Prompt Library \u0026 Community"}],["$","meta","21",{"name":"twitter:description","content":"Build your AI prompt library. Save, version and share prompts for ChatGPT, Claude, Gemini \u0026 more. Free to start."}],["$","meta","22",{"name":"twitter:image","content":"https://prompt2love.com/og-cover.png"}],["$","link","23",{"rel":"icon","href":"/favicon.ico?favicon.0_uw959wzqm17.ico","sizes":"16x16","type":"image/x-icon"}],["$","link","24",{"rel":"icon","href":"/favicon.ico","sizes":"16x16 32x32 48x48","type":"image/x-icon"}],["$","link","25",{"rel":"icon","href":"/icon.png","sizes":"32x32","type":"image/png"}],["$","link","26",{"rel":"icon","href":"/icon-192.png","sizes":"192x192","type":"image/png"}],["$","link","27",{"rel":"apple-touch-icon","href":"/apple-icon.png"}],["$","$L4f","28",{}]]\n"])

服务器配置

{
  "mcpServers": {
    "prompt2love": {
      "url": "https://prompt2love.com/api/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_API_KEY>"
      }
    }
  }
}
推荐的 MCP Server
TraeBuild with Free GPT-4.1 & Claude 3.7. Fully MCP-Ready.
WindsurfThe new purpose-built IDE to harness magic
MiniMax MCPOfficial MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.
Howtocook Mcp基于Anduin2017 / HowToCook (程序员在家做饭指南)的mcp server,帮你推荐菜谱、规划膳食,解决“今天吃什么“的世纪难题; Based on Anduin2017/HowToCook (Programmer's Guide to Cooking at Home), MCP Server helps you recommend recipes, plan meals, and solve the century old problem of "what to eat today"
CursorThe AI Code Editor
ChatWiseThe second fastest AI chatbot™
MCP AdvisorMCP Advisor & Installation - Use the right MCP server for your needs
Jina AI MCP ToolsA Model Context Protocol (MCP) server that integrates with Jina AI Search Foundation APIs.
RedisA Model Context Protocol server that provides access to Redis databases. This server enables LLMs to interact with Redis key-value stores through a set of standardized tools.
Zhipu Web SearchZhipu Web Search MCP Server is a search engine specifically designed for large models. It integrates four search engines, allowing users to flexibly compare and switch between them. Building upon the web crawling and ranking capabilities of traditional search engines, it enhances intent recognition capabilities, returning results more suitable for large model processing (such as webpage titles, URLs, summaries, site names, site icons, etc.). This helps AI applications achieve "dynamic knowledge acquisition" and "precise scenario adaptation" capabilities.
AiimagemultistyleA Model Context Protocol (MCP) server for image generation and manipulation using fal.ai's Stable Diffusion model.
Serper MCP ServerA Serper MCP Server
DeepChatYour AI Partner on Desktop
Tavily Mcp
Visual Studio Code - Open Source ("Code - OSS")Visual Studio Code
Baidu Map百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright McpPlaywright MCP server
Amap Maps高德地图官方 MCP Server
BlenderBlenderMCP connects Blender to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Blender. This integration enables prompt assisted 3D modeling, scene creation, and manipulation.
EdgeOne Pages MCPAn MCP service designed for deploying HTML content to EdgeOne Pages and obtaining an accessible public URL.
Y GuiA web-based graphical interface for AI chat interactions with support for multiple AI models and MCP (Model Context Protocol) servers.