/*
Theme Name: Chikrii VXUG
Theme URI: https://chikrii.com/
Description: Chikrii Algorithm Strategic Lab child theme. Directory/file-tree archive aesthetic inspired by vx-underground. Dark monospace UI with HackTheBox lime accent.
Author: chikrii
Author URI: https://chikrii.com/
Template: generatepress
Version: 1.4.0
Text Domain: chikrii-vxug
*/
:root {
	--vx-bg: #0b0e0c;
	--vx-bg-2: #11150f;
	--vx-panel: #0f1310;
	--vx-line: #1d241a;
	--vx-line-2: #2a3322;
	--vx-text: #c8d2bf;
	--vx-text-dim: #7e8a73;
	--vx-text-faint: #525c49;
	--vx-accent: #9fef00;
	--vx-accent-dim: #6fa800;
	--vx-cyan: #2ee7b6;
	--vx-amber: #ffaf00;
	--vx-red: #ff5d5d;
	--vx-mono: "JetBrains Mono", "Fira Code", "DejaVu Sans Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

body {
	background-color: var(--vx-bg);
	background-image:
		repeating-linear-gradient(0deg, rgba(159,239,0,0.018) 0px, rgba(159,239,0,0.018) 1px, transparent 1px, transparent 3px);
	color: var(--vx-text);
	font-family: var(--vx-mono);
	font-size: 15px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

a { color: var(--vx-accent); text-decoration: none; }
a:hover, a:focus { color: var(--vx-cyan); text-decoration: none; }

.grid-container { max-width: 1100px; }

.site-header {
	background-color: var(--vx-bg-2);
	border-bottom: 1px solid var(--vx-line-2);
}

.inside-header {
	padding-top: 18px;
	padding-bottom: 18px;
	align-items: center;
}

.main-title {
	font-family: var(--vx-mono);
	font-weight: 700;
	letter-spacing: 0.5px;
}

.main-title a, .main-title a:hover {
	color: var(--vx-text);
}

.main-title a::before {
	content: "[Σ] ";
	color: var(--vx-accent);
	text-shadow: 0 0 8px rgba(159, 239, 0, 0.55);
}

.site-description {
	color: var(--vx-text-dim);
	font-family: var(--vx-mono);
	font-size: 12px;
}

.main-navigation {
	background-color: transparent;
}

.main-navigation .inside-navigation {
	background-color: transparent;
}

.main-navigation .main-nav ul li a {
	font-family: var(--vx-mono);
	font-size: 13px;
	color: var(--vx-text-dim);
	text-transform: lowercase;
	padding: 10px 14px;
	letter-spacing: 0.3px;
}

.main-navigation .main-nav ul li a::before {
	content: "/";
	color: var(--vx-text-faint);
	margin-right: 2px;
}

.main-navigation .main-nav ul li:hover > a,
.main-navigation .main-nav ul li:focus > a,
.main-navigation .main-nav ul li[class*="current-menu-"] > a {
	color: var(--vx-accent);
	background-color: transparent;
}

.main-navigation ul ul {
	background-color: var(--vx-panel);
	border: 1px solid var(--vx-line-2);
}

.main-navigation .main-nav ul ul li a {
	color: var(--vx-text-dim);
}

.separate-containers .inside-article,
.separate-containers .comments-area,
.separate-containers .page-header,
.one-container .container,
.separate-containers .paging-navigation,
.inside-page-header {
	background-color: var(--vx-panel);
	border: 1px solid var(--vx-line);
}

.site-content { padding-top: 8px; }

.vx-sysbar {
	background: #070908;
	border-bottom: 1px solid var(--vx-line-2);
	color: var(--vx-text-faint);
	font-family: var(--vx-mono);
	font-size: 11px;
	letter-spacing: 0.5px;
	display: flex;
	justify-content: space-between;
	padding: 5px 18px;
}
.vx-sysbar-left { color: var(--vx-accent-dim); }

.vx-pathbar {
	font-family: var(--vx-mono);
	font-size: 13px;
	background: var(--vx-bg);
	border: 1px solid var(--vx-line-2);
	border-radius: 4px 4px 0 0;
	padding: 9px 14px;
	margin-bottom: 0;
}
.vx-pathbar .vx-prompt { color: var(--vx-accent); }
.vx-pathbar .vx-colon { color: var(--vx-text-dim); }
.vx-pathbar .vx-path { color: var(--vx-cyan); }
.vx-pathbar .vx-cursor {
	color: var(--vx-accent);
	animation: vx-blink 1.05s steps(1) infinite;
}
@keyframes vx-blink { 50% { opacity: 0; } }
.vx-pathbar-single { border-radius: 4px; margin-bottom: 14px; }

.vx-toolbar {
	display: flex;
	align-items: stretch;
	gap: 10px;
	background: var(--vx-bg-2);
	border: 1px solid var(--vx-line-2);
	border-top: none;
	padding: 8px 12px;
}
.vx-fts {
	display: flex;
	align-items: center;
	flex: 1 1 auto;
	gap: 8px;
	margin: 0;
}
.vx-fts-label {
	font-family: var(--vx-mono);
	font-size: 11px;
	color: #0b0e0c;
	background: var(--vx-accent);
	padding: 2px 6px;
	border-radius: 3px;
	font-weight: 700;
}
.vx-fts input[type="search"] {
	flex: 1 1 auto;
	font-size: 13px !important;
	padding: 5px 8px !important;
}
.vx-viewtoggle {
	background: transparent !important;
	color: var(--vx-text-dim) !important;
	border: 1px solid var(--vx-line-2) !important;
	font-size: 12px !important;
	text-transform: none !important;
	padding: 4px 10px !important;
	cursor: pointer;
}
.vx-viewtoggle:hover { color: var(--vx-accent) !important; border-color: var(--vx-accent) !important; }

.vx-summary {
	font-family: var(--vx-mono);
	font-size: 11px;
	color: var(--vx-text-faint);
	background: var(--vx-bg-2);
	border: 1px solid var(--vx-line-2);
	border-top: none;
	padding: 6px 14px;
}

.vx-colhead,
.vx-dir,
.vx-row {
	display: grid;
	grid-template-columns: 64px 1fr 120px 80px;
	align-items: baseline;
	gap: 12px;
	font-family: var(--vx-mono);
	font-size: 13px;
	padding: 9px 14px;
}

.vx-colhead {
	background: #0d110d;
	border: 1px solid var(--vx-line-2);
	border-top: none;
	color: var(--vx-text-faint);
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 1px;
}
.vx-colhead .vx-c-date { color: var(--vx-accent-dim); }

.vx-dirlist { border: 1px solid var(--vx-line); border-top: none; }
.vx-dir {
	text-decoration: none;
	border-bottom: 1px solid var(--vx-line);
	background: var(--vx-panel);
}
.vx-dir:hover { background: var(--vx-bg-2); }
.vx-dir-icon { color: var(--vx-cyan); }
.vx-dir .vx-c-name {
	color: var(--vx-cyan);
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.vx-dir:hover .vx-c-name { color: var(--vx-accent); }
.vx-dir .vx-c-date, .vx-dir .vx-c-size { color: var(--vx-text-faint); font-size: 12px; }

.vx-filelist { border: 1px solid var(--vx-line); border-top: none; border-radius: 0 0 4px 4px; overflow: hidden; }

.blog .site-main article.post,
.archive .site-main article.post,
.search-results .site-main article.post {
	background-color: var(--vx-panel);
	border: none;
	border-bottom: 1px solid var(--vx-line);
	margin-bottom: 0 !important;
}
.blog .site-main article.post:last-of-type,
.archive .site-main article.post:last-of-type { border-bottom: none; }

.blog .site-main .inside-article,
.archive .site-main .inside-article,
.search-results .site-main .inside-article { padding: 0; border: none; }

.vx-row { padding: 9px 14px; }
.vx-file-icon { color: var(--vx-accent); }
.vx-row .vx-c-name {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.vx-row .vx-c-name a { color: var(--vx-text); }
.blog .site-main article.post:hover,
.archive .site-main article.post:hover { background: var(--vx-bg-2); }
.blog .site-main article.post:hover .vx-c-name a,
.archive .site-main article.post:hover .vx-c-name a { color: var(--vx-accent); }
.vx-row .vx-c-date, .vx-row .vx-c-size { color: var(--vx-text-faint); font-size: 12px; }

.vx-excerpt {
	border-top: 1px dashed var(--vx-line-2);
	padding: 14px 18px 18px 40px;
	color: var(--vx-text-dim);
	font-size: 14px;
	background: var(--vx-bg);
}
.vx-excerpt p { margin-bottom: 0.85em; }
.vx-excerpt h2, .vx-excerpt h3 {
	color: var(--vx-text);
	font-size: 15px;
	margin: 0.4em 0 0.5em;
	border: none;
	padding: 0;
}
.vx-excerpt h2::before, .vx-excerpt h3::before { content: ""; }

.vx-more {
	display: inline-block;
	margin-top: 6px;
	font-size: 12px;
	color: var(--vx-accent);
}
.vx-more::before { content: "└─ "; color: var(--vx-text-faint); }
.vx-more:hover { color: var(--vx-cyan); }

body.vx-compact .vx-excerpt { display: none; }
body.vx-compact .vx-row { padding: 6px 14px; }

.vx-c-view { display: none; color: var(--vx-text-faint); font-size: 12px; text-align: right; }
.vx-colhead .vx-c-view { color: var(--vx-accent-dim); text-transform: uppercase; }

body.vx-compact .vx-colhead,
body.vx-compact .vx-dir,
body.vx-compact .vx-row {
	grid-template-columns: 64px 1fr 120px 80px 70px;
}
body.vx-compact .vx-c-view { display: inline; color: var(--vx-cyan); }
body.vx-compact .vx-colhead .vx-c-view { color: var(--vx-accent-dim); }

body.vx-customsb .inside-right-sidebar > .widget,
body.vx-customsb .widget-area .widget {
	display: none !important;
}
body.vx-customsb .widget-area .vx-panel-stack { display: block !important; }
body.vx-customsb .widget-area .vx-panel-stack .vx-panel { display: block !important; }

.vx-panel-stack { display: flex; flex-direction: column; gap: 16px; }

.vx-panel {
	background: var(--vx-panel);
	border: 1px solid var(--vx-line-2);
	border-radius: 4px;
	padding: 0;
	overflow: hidden;
	font-family: var(--vx-mono);
}

.vx-panel-title {
	margin: 0;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.5px;
	color: var(--vx-accent);
	background: #0d110d;
	border-bottom: 1px solid var(--vx-line-2);
	padding: 9px 12px;
}

.vx-stat { list-style: none; margin: 0; padding: 8px 12px; }
.vx-stat li {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	padding: 4px 0;
	border: none;
	font-size: 12px;
}
.vx-stat .vx-k { color: var(--vx-text-faint); }
.vx-stat .vx-k::before { content: "› "; color: var(--vx-line-2); }
.vx-stat .vx-v { color: var(--vx-text); text-align: right; }
.vx-stat .vx-ok { color: var(--vx-accent); }

.vx-filelinks { list-style: none; margin: 0; padding: 6px 0; }
.vx-filelinks li { border-bottom: 1px dotted var(--vx-line); padding: 0; }
.vx-filelinks li:last-child { border-bottom: none; }
.vx-filelinks a {
	display: block;
	padding: 7px 12px;
	font-size: 12px;
	color: var(--vx-text-dim);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.vx-filelinks a:hover { color: var(--vx-accent); background: var(--vx-bg-2); }
.vx-fl-cat { color: var(--vx-text-faint); }

.vx-tree { list-style: none; margin: 0; padding: 8px 12px; }
.vx-tree li { padding: 3px 0; border: none; font-size: 12px; white-space: nowrap; }
.vx-branch { color: var(--vx-text-faint); }
.vx-tree a { color: var(--vx-cyan); }
.vx-tree a:hover { color: var(--vx-accent); }
.vx-tree-c { color: var(--vx-text-faint); }

.vx-access { list-style: none; margin: 0; padding: 6px 0; }
.vx-access li { border-bottom: 1px dotted var(--vx-line); }
.vx-access li:last-child { border-bottom: none; }
.vx-access a {
	display: block;
	padding: 8px 12px;
	font-size: 12px;
	color: var(--vx-accent);
}
.vx-access a::before { content: "$ "; color: var(--vx-text-faint); }
.vx-access a:hover { color: var(--vx-cyan); background: var(--vx-bg-2); }

.single .entry-title,
.page .entry-title {
	font-family: var(--vx-mono);
	color: var(--vx-text);
	font-size: 26px;
	line-height: 1.3;
}

.single .entry-title::before {
	content: "$ cat ";
	color: var(--vx-accent);
	font-size: 18px;
}

.entry-content { color: var(--vx-text); }

.entry-content h2,
.entry-content h3,
.entry-content h4 {
	font-family: var(--vx-mono);
	color: var(--vx-accent);
	border-left: 2px solid var(--vx-accent-dim);
	padding-left: 12px;
	margin-top: 1.8em;
}

.entry-content h2::before { content: "## "; color: var(--vx-text-faint); }
.entry-content h3::before { content: "### "; color: var(--vx-text-faint); }

.entry-content a { color: var(--vx-accent); text-decoration: underline; text-underline-offset: 3px; }
.entry-content a:hover { color: var(--vx-cyan); }

.entry-content blockquote {
	border-left: 2px solid var(--vx-cyan);
	background: var(--vx-bg-2);
	color: var(--vx-text-dim);
	padding: 10px 16px;
	font-style: normal;
}

.entry-content code,
.entry-content pre {
	font-family: var(--vx-mono);
	background: var(--vx-bg);
	border: 1px solid var(--vx-line-2);
	color: var(--vx-cyan);
}

.entry-content code { padding: 1px 5px; border-radius: 3px; font-size: 0.92em; }
.entry-content pre { padding: 14px; border-radius: 4px; overflow-x: auto; }

.entry-meta, .entry-meta a {
	color: var(--vx-text-faint);
	font-size: 12px;
	font-family: var(--vx-mono);
}
.entry-meta a:hover { color: var(--vx-accent); }

.cat-links a {
	color: var(--vx-text-dim);
}

.sidebar .widget,
.widget-area .widget {
	background-color: var(--vx-panel);
	border: 1px solid var(--vx-line);
}

.widget .widget-title,
.widget h2.wp-block-heading {
	font-family: var(--vx-mono);
	color: var(--vx-accent);
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 1px;
	border-bottom: 1px solid var(--vx-line-2);
	padding-bottom: 8px;
}

.widget h2.wp-block-heading::before { content: "// "; color: var(--vx-text-faint); }

.widget ul li { border-bottom: 1px dotted var(--vx-line); padding: 6px 0; }
.widget ul li a { color: var(--vx-text-dim); font-size: 13px; }
.widget ul li a:hover { color: var(--vx-accent); }

.wp-block-search__input,
input[type="search"], input[type="text"], input[type="email"], textarea {
	background-color: var(--vx-bg) !important;
	border: 1px solid var(--vx-line-2) !important;
	color: var(--vx-text) !important;
	font-family: var(--vx-mono) !important;
}

.wp-block-search__button,
button, input[type="submit"] {
	background-color: var(--vx-accent) !important;
	color: #0b0e0c !important;
	border: none !important;
	font-family: var(--vx-mono) !important;
	font-weight: 700;
	text-transform: lowercase;
}
.wp-block-search__button:hover,
button:hover, input[type="submit"]:hover {
	background-color: var(--vx-cyan) !important;
	color: #0b0e0c !important;
}

.paging-navigation .nav-links a,
.paging-navigation .page-numbers {
	font-family: var(--vx-mono);
	color: var(--vx-text-dim);
	border: 1px solid var(--vx-line-2);
	padding: 6px 12px;
	margin: 0 3px;
}
.paging-navigation .page-numbers.current {
	background: var(--vx-accent);
	color: #0b0e0c;
	border-color: var(--vx-accent);
}
.paging-navigation a:hover { color: var(--vx-accent); border-color: var(--vx-accent); }

.site-info {
	background-color: var(--vx-bg-2);
	border-top: 1px solid var(--vx-line-2);
	color: var(--vx-text-faint);
	font-family: var(--vx-mono);
	font-size: 12px;
}
.site-info a { color: var(--vx-text-dim); }
.site-info a:hover { color: var(--vx-accent); }

.site-info .copyright::before {
	content: "root@chikrii-lab:~# ";
	color: var(--vx-accent);
}

.site-info .inside-site-info {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}
.site-info .copyright::after {
	content: " · status: online · uptime: nominal";
	color: var(--vx-text-faint);
}

.main-navigation .menu-toggle {
	color: var(--vx-text);
	font-family: var(--vx-mono);
}

@media (max-width: 768px) {
	.vx-colhead { display: none; }
	.vx-row, .vx-dir,
	body.vx-compact .vx-row, body.vx-compact .vx-dir {
		grid-template-columns: 50px 1fr;
		row-gap: 2px;
	}
	.vx-row .vx-c-date, .vx-row .vx-c-size, .vx-row .vx-c-view,
	.vx-dir .vx-c-date, .vx-dir .vx-c-size, .vx-dir .vx-c-view {
		grid-column: 2;
		font-size: 11px;
		text-align: left;
	}
	body.vx-compact .vx-c-view::before { content: "views: "; color: var(--vx-text-faint); }
	.vx-row .vx-c-name { white-space: normal; }
	.vx-excerpt { padding-left: 18px; }
	.vx-toolbar { flex-direction: column; }
	.site-info .copyright::after { content: ""; }
}

::selection { background: var(--vx-accent); color: #0b0e0c; }
