.cvft-tool {
	--cvft-lime: #a8ff00;
	--cvft-lime-soft: #79b900;
	--cvft-ink: #f3f9e9;
	--cvft-muted: #a6b19c;
	--cvft-border: rgba(168, 255, 0, .28);
	--cvft-border-bright: rgba(168, 255, 0, .72);
	--cvft-panel: #080d0a;
	--cvft-panel-raised: #0d1510;
	background-color: var(--cvft-panel);
	background-image:
		linear-gradient(90deg, rgba(168, 255, 0, .035) 1px, transparent 1px),
		linear-gradient(rgba(168, 255, 0, .035) 1px, transparent 1px),
		linear-gradient(135deg, transparent 0 18px, rgba(168, 255, 0, .1) 18px 19px, transparent 19px);
	background-size: 42px 42px, 42px 42px, 100% 100%;
	border: 1px solid var(--cvft-border);
	border-radius: 0;
	box-shadow: 0 0 0 1px rgba(168, 255, 0, .06) inset, 0 0 35px rgba(117, 255, 0, .08);
	box-sizing: border-box;
	color: var(--cvft-ink);
	font-family: inherit;
	margin: 1.5rem auto;
	max-width: 980px;
	overflow: hidden;
	padding: clamp(1.25rem, 3vw, 2.2rem);
	position: relative;
}

.cvft-tool::before,
.cvft-tool::after {
	background: var(--cvft-lime);
	content: "";
	height: 2px;
	position: absolute;
	width: 74px;
}

.cvft-tool::before { left: 18px; top: 0; }
.cvft-tool::after { bottom: 0; right: 18px; }
.cvft-tool *, .cvft-tool *::before, .cvft-tool *::after { box-sizing: border-box; }
.cvft-tool ::selection { background: var(--cvft-lime); color: #050805; }

.cvft-tool__header {
	border-bottom: 1px solid var(--cvft-border);
	margin-bottom: 1.7rem;
	padding: .15rem 0 1.35rem 1rem;
	position: relative;
}

.cvft-tool__header::before {
	color: var(--cvft-lime);
	content: "// CYBERVISION SEO MODULE";
	display: block;
	font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
	font-size: .64rem;
	letter-spacing: .16em;
	margin-bottom: .65rem;
	opacity: .8;
}

.cvft-tool__header::after {
	background: var(--cvft-lime);
	content: "";
	height: 38px;
	left: 0;
	position: absolute;
	top: 0;
	width: 3px;
}

.cvft-tool__eyebrow {
	color: var(--cvft-lime);
	display: block;
	font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.cvft-tool h2 {
	color: #fff;
	font-family: var(--wdtFontTypo_Alt, "Arial Narrow", Impact, sans-serif);
	font-size: clamp(1.55rem, 3vw, 2.25rem);
	letter-spacing: .055em;
	line-height: 1.05;
	margin: .45rem 0 .65rem;
	text-transform: uppercase;
	text-shadow: 0 0 14px rgba(168, 255, 0, .22);
}

.cvft-tool__header p { color: var(--cvft-muted); margin: 0; }
.cvft-grid { display: grid; gap: 1.5rem; }
.cvft-grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cvft-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 1.25rem; }
.cvft-fields { display: grid; gap: .55rem; }

.cvft-fields label {
	color: var(--cvft-lime);
	font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
	font-size: .74rem;
	font-weight: 700;
	letter-spacing: .08em;
	margin-top: .35rem;
	text-transform: uppercase;
}

.cvft-fields input,
.cvft-fields textarea,
.cvft-fields select {
	background: rgba(3, 8, 5, .9);
	border: 1px solid rgba(166, 189, 158, .35);
	border-radius: 0;
	color: var(--cvft-ink);
	font: inherit;
	line-height: 1.45;
	padding: .72rem .8rem;
	transition: border-color .18s ease, box-shadow .18s ease;
	width: 100%;
}

.cvft-fields input::placeholder,
.cvft-fields textarea::placeholder { color: #697765; opacity: 1; }
.cvft-fields textarea { min-height: 8rem; resize: vertical; }

.cvft-fields input:focus,
.cvft-fields textarea:focus,
.cvft-fields select:focus {
	border-color: var(--cvft-lime);
	box-shadow: 0 0 0 2px rgba(168, 255, 0, .14), 0 0 18px rgba(168, 255, 0, .1) inset;
	outline: 0;
}

.cvft-counter,
.cvft-help,
.cvft-tool__privacy {
	color: var(--cvft-muted);
	font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
	font-size: .72rem;
	margin: -.25rem 0 .35rem;
}

.cvft-counter.is-over { color: #ff7d6e; font-weight: 700; }

.cvft-preview-panel {
	background: rgba(2, 7, 4, .78);
	border: 1px solid var(--cvft-border);
	border-radius: 0;
	padding: 1.25rem;
}

.cvft-preview-panel__label {
	color: var(--cvft-lime);
	display: block;
	font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .12em;
	margin-bottom: 1rem;
	text-transform: uppercase;
}

.cvft-google-preview {
	background: #050806;
	border: 1px solid rgba(168, 255, 0, .22);
	border-radius: 0;
	box-shadow: 0 0 18px rgba(168, 255, 0, .06) inset;
	padding: 1rem;
	margin-bottom: 20px;
}

.cvft-google-preview__url { color: #b6d78d; font-size: .82rem; overflow-wrap: anywhere; }
.cvft-google-preview__title { color: var(--cvft-lime); font-size: 1.22rem; line-height: 1.3; margin: .35rem 0; overflow-wrap: anywhere; }
.cvft-google-preview__description { color: #bec8b9; font-size: .9rem; line-height: 1.5; overflow-wrap: anywhere; }

.cvft-result {
	background: rgba(2, 7, 4, .82);
	border: 1px solid var(--cvft-border);
	border-left: 3px solid var(--cvft-lime);
	border-radius: 0;
	box-shadow: 0 0 22px rgba(168, 255, 0, .06) inset;
	color: #dcebd2;
	line-height: 1.65;
	margin-top: 1.25rem;
	min-height: 3.4rem;
	padding: 1rem 1.1rem;
	white-space: pre-line;
}

.cvft-result--boxed { margin-top: 0; }

.cvft-button {
	background: var(--cvft-lime);
	border: 0;
	border-radius: 0;
	clip-path: polygon(0 0, calc(100% - 9px) 0, 100% 9px, 100% 100%, 9px 100%, 0 calc(100% - 9px));
	color: #050805;
	cursor: pointer;
	font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .08em;
	padding: .85rem 1.15rem;
	text-transform: uppercase;
	transition: background .18s ease, box-shadow .18s ease, transform .18s ease;
}

.cvft-button:hover,
.cvft-button:focus { background: #c4ff4d; box-shadow: 0 0 16px rgba(168, 255, 0, .42); color: #050805; transform: translateY(-1px); }
.cvft-button:focus { outline: 2px solid #fff; outline-offset: 3px; }
.cvft-idea-list { display: grid; gap: .7rem; margin: 0; padding-left: 1.5rem; }
.cvft-idea-list li { align-items: center; display: flex; gap: .8rem; justify-content: space-between; padding-left: .25rem; }
.cvft-idea-list li span { flex: 1; }

.cvft-copy {
	background: transparent;
	border: 1px solid var(--cvft-border-bright);
	border-radius: 0;
	color: var(--cvft-lime);
	cursor: pointer;
	font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .06em;
	padding: .42rem .65rem;
	text-transform: uppercase;
	white-space: nowrap;
}

.cvft-copy:hover,
.cvft-copy:focus { background: var(--cvft-lime); color: #050805; outline: 2px solid #fff; outline-offset: 2px; }
.cvft-optional { color: var(--cvft-muted); font-size: .7rem; font-weight: 400; }
.cvft-tool__privacy { border-top: 1px solid var(--cvft-border); margin: 1.5rem 0 0; padding-top: 1rem; }
.cvft-error { color: #ff7d6e; }

.cvft-tools-hub {
	--cvft-lime: #a8ff00;
	--cvft-muted: #a6b19c;
	--cvft-border: rgba(168, 255, 0, .28);
	background-color: #080d0a;
	background-image: linear-gradient(90deg, rgba(168, 255, 0, .035) 1px, transparent 1px), linear-gradient(rgba(168, 255, 0, .035) 1px, transparent 1px);
	background-size: 42px 42px;
	border: 1px solid var(--cvft-border);
	box-shadow: 0 0 30px rgba(117, 255, 0, .08);
	color: #f3f9e9;
	margin: 1.5rem auto 2rem;
	max-width: 980px;
	padding: clamp(1.25rem, 3vw, 2.2rem);
}

.cvft-tools-hub__header { border-bottom: 1px solid var(--cvft-border); margin-bottom: 1.4rem; padding-bottom: 1rem; }
.cvft-tools-hub__header h2 { color: #fff; font-family: var(--wdtFontTypo_Alt, "Arial Narrow", Impact, sans-serif); letter-spacing: .06em; margin: .4rem 0 .6rem; text-transform: uppercase; }
.cvft-tools-hub__header p { color: var(--cvft-muted); margin: 0; }
.cvft-tools-hub__grid { display: grid; gap: 10px; grid-template-columns: repeat(3, minmax(0, 1fr)); }

.cvft-tools-hub__card {
	background: rgba(3, 8, 5, .82);
	border: 1px solid rgba(168, 255, 0, .2);
	color: #dcebd2;
	display: flex;
	flex-direction: column;
	gap: .45rem;
	min-height: 130px;
	padding: 1rem;
	text-decoration: none;
	transition: background .18s ease, border-color .18s ease, transform .18s ease;
}

.cvft-tools-hub__card strong { color: var(--cvft-lime); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .8rem; letter-spacing: .05em; text-transform: uppercase; }
.cvft-tools-hub__card span { color: var(--cvft-muted); font-size: .78rem; line-height: 1.45; }
.cvft-tools-hub__card:hover, .cvft-tools-hub__card:focus { background: rgba(168, 255, 0, .1); border-color: var(--cvft-lime); color: #fff; transform: translateY(-2px); }
.cvft-tools-hub__card:focus { outline: 2px solid #fff; outline-offset: 2px; }

.cvft-social-preview {
	background: #050806;
	border: 1px solid var(--cvft-border);
	box-shadow: 0 0 18px rgba(168, 255, 0, .06) inset;
	overflow: hidden;
}

.cvft-social-preview__image {
	align-items: center;
	background: linear-gradient(135deg, #162a0c, #050806 65%);
	color: var(--cvft-lime);
	display: flex;
	font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
	font-size: .7rem;
	justify-content: center;
	letter-spacing: .12em;
	min-height: 190px;
	text-align: center;
}

.cvft-social-preview__image img { display: block; height: 100%; object-fit: cover; width: 100%; }
.cvft-social-preview__body { padding: 1rem; }
.cvft-social-preview__body > span { color: #a8c888; display: block; font-size: .72rem; margin-bottom: .35rem; }
.cvft-social-preview__body strong { color: #fff; display: block; font-size: 1.1rem; line-height: 1.25; }
.cvft-social-preview__body p { color: #b8c6b0; font-size: .86rem; line-height: 1.45; margin: .5rem 0 0; }

.cvft-code-result {
	background: #030604;
	border: 1px solid rgba(168, 255, 0, .17);
	color: #c9f89f;
	font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
	font-size: .76rem;
	max-height: 340px;
	overflow: auto;
	padding: 1rem;
	white-space: pre-wrap;
}

@media (max-width: 800px) {
	.cvft-tools-hub__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
	.cvft-grid--two, .cvft-grid--three { grid-template-columns: 1fr; }
	.cvft-idea-list li { align-items: flex-start; }
	.cvft-tool { padding: 1.1rem; }
	.cvft-tools-hub__grid { grid-template-columns: 1fr; }
}
