diff --git a/llama_forge_rs/public/3dbutton.md b/llama_forge_rs/public/3dbutton.md
new file mode 100644
index 0000000..cfa0eb4
--- /dev/null
+++ b/llama_forge_rs/public/3dbutton.md
@@ -0,0 +1,157 @@
+```html
+
+
+
+
+
+
+
+
+
+
+```
+
+```scss
+body {
+ width: 100%;
+ height: 100vh;
+ margin: 0;
+ padding: 0;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 3rem;
+ background-color: rgb(225, 225, 225);
+ font-family: "Inter", sans-serif;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ overflow: hidden;
+}
+
+.button {
+ --fl-shadow-color: rgba(5, 5, 5, 1);
+ --str-shadow-color: rgba(5, 5, 5, 0.5);
+ --shadow-color: rgba(5, 5, 5, 0.25);
+ --lt-shadow-color: rgba(5, 5, 5, 0.1);
+
+ --highlight-color: rgba(255, 255, 255, 0.25);
+ --fl-highlight-color: rgba(255, 255, 255, 1);
+
+ --edge-shadow: 0.15em;
+ --transition: all 250ms ease;
+
+ all: unset;
+ cursor: pointer;
+ position: relative;
+ border-radius: 999vw;
+ padding: 1em 1.5em;
+ -webkit-tap-highlight-color: transparent;
+ background-color: rgba(0, 0, 0, 0.75);
+ box-shadow:
+ -0.15em -0.15em 0.15em -0.075em var(--shadow-color),
+ 0.15em -0.15em 0.15em -0.075em var(--lt-shadow-color),
+ 0.0375em 0.0375em 0.0675em 0 var(--lt-shadow-color);
+
+ &::before,
+ &::after {
+ content: "";
+ position: absolute;
+ border-radius: inherit;
+ transition: var(--transition);
+ }
+
+ &::before {
+ z-index: 1;
+ inset: 0.025em;
+ box-shadow:
+ 0 0.05em 0.05em -0.01em var(--fl-shadow-color),
+ 0 0.01em 0.01em -0.01em var(--str-shadow-color),
+ 0.15em 0.3em 0.1em -0.01em var(--shadow-color);
+ }
+
+ &::after {
+ z-index: 2;
+ inset: 0.0125em;
+ background-image: linear-gradient(
+ 135deg,
+ rgb(230, 230, 230),
+ rgb(180, 180, 180)
+ );
+ clip-path: inset(0 round 999vw);
+ box-shadow:
+ 0 0 0 0 inset var(--shadow-color),
+ -0.05em -0.05em 0.05em 0 inset var(--shadow-color),
+ 0 0 0.05em 0.2em inset var(--highlight-color),
+ // 0.025em 0.05em 0.1em 0 inset var(--fl-highlight-color),
+ -0.075em -0.25em 0.25em 0.1em inset var(--shadow-color);
+ }
+
+ &:hover {
+
+ &::before {
+ box-shadow:
+ 0 0.05em 0.0em -0.01em var(--fl-shadow-color),
+ 0 0.01em 0.01em -0.01em var(--str-shadow-color),
+ 0.1em 0.2em 0.066em -0.01em var(--shadow-color);
+ }
+
+ &::after {
+ clip-path: inset(clamp(1px, 0.0625em, 2px) round 999vw);
+ box-shadow:
+ 0.1em 0.15em 0.05em 0 inset var(--shadow-color),
+ -0.025em -0.03em 0.05em 0.025em inset var(--shadow-color),
+ 0 0 0.05em 0.3em inset var(--highlight-color),
+ -0.075em -0.12em 0.2em 0.1em inset var(--shadow-color);
+ }
+ }
+
+ &:active {
+ &::before {
+ box-shadow: none;
+ }
+
+ &::after {
+ --shadow-color: rgba(85, 5, 5, 0.75); // red
+ --highlight-color: rgba(255, 80, 80, 0.25); // red
+
+ box-shadow:
+ 0.15em 0.175em 0.075em 0 inset var(--shadow-color),
+ -0.025em -0.03em 0.05em 0.025em inset var(--shadow-color),
+ 0 0 0.05em 0.4em inset var(--highlight-color),
+ -0.075em -0.12em 0.2em 0.1em inset var(--shadow-color);
+ }
+ }
+
+ span {
+ --text-gradient: linear-gradient(135deg, rgb(25, 25, 25), rgb(75, 75, 75));
+
+ position: relative;
+ z-index: 3;
+ font-family: inherit;
+ letter-spacing: -0.05em;
+ font-weight: 500;
+ color: transparent;
+ background-image: var(--text-gradient);
+ background-clip: text;
+ transition: transform 250ms ease;
+ display: block;
+ text-shadow: rgba(0, 0, 0, 0.1) 0 0 0.1em;
+ }
+
+ &:hover span {
+ transform: scale(0.975);
+ }
+
+ &:active span {
+ transform: scale(0.95);
+ }
+}
+```