<!-- Google Font Import -->
<link href="https://fonts.googleapis.com/css2?family=Nunito:wght@300;400;600;700;800&display=swap" rel="stylesheet">
<style>
* {
font-family: 'Nunito', sans-serif !important;
}
/* Wrapper */
.black-box {
background: rgb(106 106 106 / 32%);
padding: 25px 30px;
border-radius: 25px;
width: 100%;
display: flex;
flex-direction: column;
gap: 12px;
backdrop-filter: blur(20px);
-webkit-backdrop-filter: blur(20px);
border: 1px solid rgba(255, 255, 255, 0.08);
box-shadow: 0 4px 25px rgba(0, 0, 0, 0.5);
}
.top-row {
display: flex;
align-items: center;
padding-bottom: 3%;
}
@media only screen and (max-width: 600px) {
label {
font-size: 13px !important;
}
.black-box .animated-input {
font-size: 13px !important;
overflow: hidden;
}
}
/* LABEL */
label {
color: #ffffff !important;
font-size: 17px;
white-space: nowrap;
letter-spacing: 0.03em;
transition: opacity 0.25s ease;
}
label.hidden {
opacity: 0;
}
.black-box .animated-input {
flex: 1;
border: none;
outline: none;
background: transparent;
color: #fff !important;
font-size: 17px;
padding: 10px 5px;
letter-spacing: 0.03em;
}
.black-box .animated-input::placeholder {
color: #999;
}
.bottom-row {
display: flex;
justify-content: space-between;
align-items: center;
}
.left-buttons {
display: flex;
align-items: center;
gap: 12px;
}
.black-box .public-btn {
display: flex;
align-items: center;
gap: 6px;
border: 1px solid rgba(255, 255, 255, 0.15);
background: rgba(255, 255, 255, 0.06);
color: #fff;
font-size: 14px;
padding: 8px 18px;
border-radius: 25px;
cursor: pointer;
transition: all 0.3s ease;
backdrop-filter: blur(15px);
-webkit-backdrop-filter: blur(15px);
}
.black-box .public-btn:hover {
background: rgba(255, 255, 255, 0.12);
}
.black-box .plus-btn {
border: 1px solid rgba(255, 255, 255, 0.15);
background: rgba(255, 255, 255, 0.06);
color: #fff;
font-size: 18px;
font-weight: bold;
width: 38px;
height: 38px;
border-radius: 50%;
cursor: pointer;
transition: all 0.3s ease;
backdrop-filter: blur(15px);
-webkit-backdrop-filter: blur(15px);
}
.black-box .plus-btn:hover {
background: rgba(255, 255, 255, 0.12);
}
.black-box .arrow-btn {
width: 40px;
height: 40px;
border-radius: 50%;
border: 1px solid rgba(255, 255, 255, 0.15);
background: rgba(255, 255, 255, 0.06);
color: #fff;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
transition: all 0.3s ease;
backdrop-filter: blur(15px);
-webkit-backdrop-filter: blur(15px);
}
.black-box .arrow-btn:hover {
background: rgba(255, 255, 255, 0.12);
}
.black-box .arrow-btn.disabled {
opacity: 0.4;
cursor: not-allowed;
}
</style>
<div class="black-box">
<div class="top-row">
<label id="askLabel">Ask Vibelets</label>
<input type="text" id="animatedInput" class="animated-input" placeholder="" />
</div>
<div class="bottom-row">
<div class="left-buttons">
<button class="plus-btn popup-btn" id="plusBtn">+</button>
<button class="public-btn popup-btn" id="publicBtn">🌐 Public</button>
</div>
<button class="arrow-btn disabled" id="arrowBtn">↑</button>
</div>
</div>
<script>
const input = document.getElementById("animatedInput");
const arrowBtn = document.getElementById("arrowBtn");
const askLabel = document.getElementById("askLabel");
const placeholderTexts = [
"how to stop burning budget testing audiences that never convert.",
"why your top 2 products carry your whole store and how to fix it.",
"how to scale without audience fatigue killing your winners.",
"why scaling your ad spend keeps killing your CAC.",
"why your ROAS looks good but your bank account says otherwise.",
"where your next profitable dollar should actually go."
];
let currentText = 0;
let charIndex = 0;
let typingInterval;
function typePlaceholder() {
if (charIndex < placeholderTexts[currentText].length) {
input.placeholder =
placeholderTexts[currentText].substring(0, charIndex + 1);
charIndex++;
} else {
clearInterval(typingInterval);
setTimeout(() => {
charIndex = 0;
currentText = (currentText + 1) % placeholderTexts.length;
typingInterval = setInterval(typePlaceholder, 100);
}, 1500);
}
}
typingInterval = setInterval(typePlaceholder, 50);
input.addEventListener("focus", () => {
clearInterval(typingInterval);
input.placeholder = "";
});
/* 🔥 ONLY when user types */
input.addEventListener("input", () => {
if (input.value.trim().length > 0) {
askLabel.classList.add("hidden");
arrowBtn.classList.remove("disabled");
} else {
askLabel.classList.remove("hidden");
arrowBtn.classList.add("disabled");
}
});
function openSignupNewTab() {
window.open("https://app.vibelets.ai/signup", "_blank");
}
plusBtn.onclick = publicBtn.onclick = openSignupNewTab;
arrowBtn.onclick = () => {
if (!arrowBtn.classList.contains("disabled")) {
openSignupNewTab();
}
};
</script>



















