/*
Theme Name: NewTech
Theme URI: https://nemcd.com/
Description: Dark Editorial & Fintech Engineering editorial theme for NEMCD (TECHNOLOGY x MARKETS) with Dark default and Light reader mode, unified TECH (#3987F7) / MARKETS (#16B894) domain system, 70:30 single-column focus, reading indicator, author card, and article TOC sidebar.
Version: 1.0
Author: Antonio Nemcd
Author URI: https://nemcd.com/about/
*/

/* === 1. Design Tokens (Dark Default + Light Reader Mode) === */
:root {
	--nt-bg: #0B1220;
	--nt-surface: #101B2D;
	--nt-elevated: #162338;
	--nt-header-bg: #101B2D;
	--nt-header-surface: #16253C;
	--nt-header-border: #20324D;
	--nt-code-bg: #080F1B;
	--nt-code-ink: #E2EAF4;
	--nt-border: #20314B;
	--nt-border-strong: #2E4468;
	--nt-ink: #D4DCE8;
	--nt-heading: #F4F7FC;
	--nt-muted: #8E9EB7;
	--nt-muted-2: #738198;

	--nt-tech: #3987F7;
	--nt-tech-bright: #68A8FF;
	--nt-tech-soft: rgba(57, 135, 247, 0.14);
	--nt-tech-border: rgba(57, 135, 247, 0.42);

	--nt-mkt: #16B894;
	--nt-mkt-bright: #2DD4B0;
	--nt-mkt-soft: rgba(22, 184, 148, 0.14);
	--nt-mkt-border: rgba(22, 184, 148, 0.42);

	--nt-accent: var(--nt-tech);
	--nt-accent-ink: var(--nt-tech-bright);
	--nt-accent-soft: var(--nt-tech-soft);
	--nt-accent-border: var(--nt-tech-border);

	--nt-inline-code-bg: #182840;
	--nt-inline-code-ink: #93C5FD;
	--nt-table-head-bg: #15243A;
	--nt-table-even-bg: rgba(255, 255, 255, 0.025);
	--nt-input-bg: #0D1727;
	--nt-card-shadow: 0 6px 24px rgba(3, 8, 18, 0.34);
	--nt-pop-shadow: 0 14px 34px rgba(2, 6, 15, 0.56);

	--nt-font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	--nt-font-head: 'Manrope', 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
	--nt-font-mono: 'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

html[data-theme="light"] {
	--nt-bg: #F4F6FA;
	--nt-surface: #FFFFFF;
	--nt-elevated: #EFF3F9;
	--nt-code-bg: #101B2D;
	--nt-code-ink: #E2EAF4;
	--nt-border: #DCE3EE;
	--nt-border-strong: #C3CFE0;
	--nt-ink: #172338;
	--nt-heading: #0E1726;
	--nt-muted: #5C6B82;
	--nt-muted-2: #738198;

	--nt-tech-soft: rgba(57, 135, 247, 0.10);
	--nt-tech-border: rgba(57, 135, 247, 0.34);
	--nt-mkt-soft: rgba(22, 184, 148, 0.11);
	--nt-mkt-border: rgba(22, 184, 148, 0.36);

	--nt-accent-ink: #1D6DE4;
	--nt-inline-code-bg: #EDF2FA;
	--nt-inline-code-ink: #1B4E9B;
	--nt-table-head-bg: #EDF2F8;
	--nt-table-even-bg: #F8FAFD;
	--nt-input-bg: #F7F9FC;
	--nt-card-shadow: 0 2px 14px rgba(16, 27, 45, 0.05);
	--nt-pop-shadow: 0 12px 28px rgba(16, 27, 45, 0.12);
}

/* Domain-wide color propagation (TECH blue vs MARKETS teal) */
body.nt-domain-markets,
.nt-domain-markets {
	--nt-accent: var(--nt-mkt);
	--nt-accent-ink: var(--nt-mkt-bright);
	--nt-accent-soft: var(--nt-mkt-soft);
	--nt-accent-border: var(--nt-mkt-border);
}

html[data-theme="light"] body.nt-domain-markets,
html[data-theme="light"] .nt-domain-markets {
	--nt-accent-ink: #0D8A6E;
}

/* === 2. Base Reset & Accessibility === */
*, *::before, *::after {
	box-sizing: border-box;
}

[hidden] {
	display: none !important;
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

html {
	font-size: 16px;
	scroll-behavior: smooth;
	background: var(--nt-bg);
}

body {
	margin: 0;
	padding: 0;
	background: var(--nt-bg);
	color: var(--nt-ink);
	font-family: var(--nt-font-sans);
	font-size: 17px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

a {
	color: var(--nt-accent-ink);
	text-decoration: none;
	transition: color .15s ease, border-color .15s ease, background-color .15s ease;
}

a:hover {
	color: var(--nt-heading);
}

img {
	max-width: 100%;
	height: auto;
}

/* === 3. Reading Progress Indicator === */
.nt-progress-track {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: rgba(128, 146, 174, 0.14);
	z-index: 9999;
	pointer-events: none;
}

.nt-progress-fill {
	height: 100%;
	width: 0;
	background: linear-gradient(90deg, var(--nt-accent) 0%, var(--nt-accent-ink) 100%);
	transition: width .08s linear;
}

/* === 4. Layout Shell (Desktop ~70:30, Gap 30px, Sidebar 316px) === */
#mainwrap {
	width: 100%;
	margin: 0 auto;
}

#header-container {
	background: var(--nt-header-bg);
	border-bottom: 1px solid var(--nt-header-border);
	color: #E2EAF4;
}

.nt-masthead,
#content,
.nt-footer {
	max-width: 1140px;
	margin: 0 auto;
	padding-left: 20px;
	padding-right: 20px;
}

#content {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 316px;
	gap: 30px;
	align-items: start;
	padding-top: 28px;
	padding-bottom: 24px;
}

#main-blog {
	min-width: 0;
}

#sidebar {
	min-width: 0;
}

/* === 5. Masthead, Navigation & Switchers === */
.nt-masthead {
	padding-top: 18px;
	padding-bottom: 16px;
}

.nt-masthead-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
}

.nt-brand {
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.nt-brand-row {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}

.nt-wordmark {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	font-family: var(--nt-font-head);
	font-size: 22px;
	font-weight: 800;
	letter-spacing: 0.04em;
	color: #F8FAFC !important;
	line-height: 1.1;
}

.nt-mark {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	padding: 4px 5px;
	border-radius: 7px;
	background: #16253D;
	border: 1px solid #2A3F61;
}

.nt-mark-tech,
.nt-mark-mkt {
	display: block;
	width: 7px;
	height: 14px;
	border-radius: 2px;
}

.nt-mark-tech {
	background: var(--nt-tech);
}

.nt-mark-mkt {
	background: var(--nt-mkt);
}

.nt-kicker {
	font-family: var(--nt-font-mono);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.1em;
	color: #8DA2C0;
	padding-left: 11px;
	border-left: 1px solid #263A59;
	text-transform: uppercase;
}

.nt-tagline {
	margin: 0;
	font-size: 13px;
	color: #8A9BB5;
	line-height: 1.35;
}

.nt-nav-wrap {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-left: auto;
}

#menu {
	display: flex;
	align-items: center;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 4px;
}

#menu li {
	margin: 0;
	padding: 0;
}

#menu li a {
	display: inline-flex;
	align-items: center;
	padding: 7px 12px;
	border-radius: 8px;
	font-family: var(--nt-font-head);
	font-size: 14.5px;
	font-weight: 600;
	color: #CBD5E1;
	white-space: nowrap;
}

#menu li a:hover {
	color: #FFFFFF;
	background: rgba(255, 255, 255, 0.07);
}

#menu li a.active {
	color: #FFFFFF;
	background: rgba(57, 135, 247, 0.18);
	box-shadow: inset 0 0 0 1px rgba(57, 135, 247, 0.35);
}

.nt-controls {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	flex-shrink: 0;
}

/* Compact RU/EN Dropdown (matches reference dark outlined pill) */
.nt-lang-wrap {
	position: relative;
}

.nt-lang-trigger {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	height: 36px;
	padding: 0 12px;
	border-radius: 10px;
	background: #1A304D;
	border: 1.5px solid var(--nt-tech);
	color: #FFFFFF;
	font-family: var(--nt-font-mono);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.04em;
	cursor: pointer;
	transition: background-color .15s ease, border-color .15s ease, transform .12s ease;
}

.nt-lang-trigger:hover,
.nt-lang-trigger[aria-expanded="true"] {
	background: #203A5D;
	border-color: var(--nt-tech-bright);
}

.nt-lang-trigger svg {
	color: #A7B9D4;
	transition: transform .15s ease;
}

.nt-lang-trigger[aria-expanded="true"] svg {
	transform: rotate(180deg);
}

.nt-lang-menu {
	position: absolute;
	top: calc(100% + 7px);
	right: 0;
	min-width: 156px;
	background: #101B2D;
	border: 1px solid #2D4366;
	border-radius: 10px;
	padding: 6px;
	box-shadow: var(--nt-pop-shadow);
	z-index: 300;
}

.nt-lang-opt {
	display: flex;
	align-items: center;
	gap: 9px;
	padding: 8px 10px;
	border-radius: 7px;
	font-size: 13.5px;
	font-weight: 500;
	color: #D4DCE8 !important;
}

.nt-lang-opt:hover {
	background: #1A2C46;
	color: #FFFFFF !important;
}

.nt-lang-opt.is-current {
	background: rgba(57, 135, 247, 0.16);
	color: #FFFFFF !important;
}

.nt-lang-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 26px;
	padding: 2px 5px;
	border-radius: 5px;
	background: #1B304C;
	border: 1px solid #30496D;
	font-family: var(--nt-font-mono);
	font-size: 11px;
	font-weight: 600;
	color: #93C5FD;
}

/* Square Theme Toggle Button */
.nt-theme-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	border-radius: 10px;
	background: #1B2C42;
	border: 1px solid #2B405E;
	color: var(--nt-mkt-bright);
	cursor: pointer;
	transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}

.nt-theme-btn:hover {
	background: #233854;
	border-color: #3D5A82;
}

.nt-theme-btn .nt-icon-moon {
	display: none;
}

.nt-theme-btn .nt-icon-sun {
	display: inline-block;
	color: #2DD4B0;
}

html[data-theme="light"] .nt-theme-btn .nt-icon-sun {
	display: none;
}

html[data-theme="light"] .nt-theme-btn .nt-icon-moon {
	display: inline-block;
	color: #7DB3FF;
}

/* Dual TECH / MARKETS Domain Strip */
.nt-pillars {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin-top: 14px;
}

.nt-pillar {
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
	padding: 10px 14px;
	border-radius: 10px;
	background: #142238;
	border: 1px solid #223552;
	color: #B6C3D8 !important;
	font-size: 13.5px;
	line-height: 1.35;
}

.nt-pillar-tech {
	border-left: 3px solid var(--nt-tech);
}

.nt-pillar-markets {
	border-left: 3px solid var(--nt-mkt);
}

.nt-pillar-tech:hover,
.nt-pillar-tech.is-active {
	background: rgba(57, 135, 247, 0.14);
	border-color: rgba(57, 135, 247, 0.45);
	color: #FFFFFF !important;
}

.nt-pillar-markets:hover,
.nt-pillar-markets.is-active {
	background: rgba(22, 184, 148, 0.14);
	border-color: rgba(22, 184, 148, 0.45);
	color: #FFFFFF !important;
}

.nt-pillar-tag {
	font-family: var(--nt-font-mono);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.08em;
	padding: 3px 8px;
	border-radius: 6px;
	flex-shrink: 0;
}

.nt-pillar-tech .nt-pillar-tag {
	background: rgba(57, 135, 247, 0.18);
	color: #68A8FF;
	border: 1px solid rgba(57, 135, 247, 0.35);
}

.nt-pillar-markets .nt-pillar-tag {
	background: rgba(22, 184, 148, 0.18);
	color: #2DD4B0;
	border: 1px solid rgba(22, 184, 148, 0.35);
}

.nt-pillar-desc {
	min-width: 0;
	overflow-wrap: break-word;
}

/* === 6. Archive Header === */
.nt-archive-bar {
	background: var(--nt-surface);
	border: 1px solid var(--nt-border);
	border-left: 4px solid var(--nt-accent);
	border-radius: 12px;
	padding: 18px 24px;
	margin-bottom: 22px;
	box-shadow: var(--nt-card-shadow);
}

.nt-archive-kicker {
	display: inline-block;
	font-family: var(--nt-font-mono);
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--nt-accent-ink);
	margin-bottom: 4px;
}

.nt-archive-title {
	margin: 0;
	font-family: var(--nt-font-head);
	font-size: 26px;
	font-weight: 800;
	line-height: 1.25;
	color: var(--nt-heading);
}

.nt-archive-desc {
	margin-top: 8px;
	font-size: 15px;
	color: var(--nt-muted);
}

.nt-archive-desc p {
	margin: 0;
}

/* === 7. Article Cards & Single Post Editorial Header === */
.post {
	background: var(--nt-surface);
	border: 1px solid var(--nt-border);
	border-radius: 14px;
	padding: 30px 34px;
	margin-bottom: 22px;
	box-shadow: var(--nt-card-shadow);
	text-align: left;
}

.single-post .post {
	margin-bottom: 0;
}

.nt-article-eyebrow {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px 8px;
	margin-bottom: 12px;
	font-family: var(--nt-font-mono);
	font-size: 12px;
	font-weight: 500;
	color: var(--nt-muted);
}

.nt-eyebrow-meta {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px 8px;
}

.nt-domain-pill {
	display: inline-flex;
	align-items: center;
	padding: 3px 9px;
	border-radius: 6px;
	background: var(--nt-accent-soft);
	border: 1px solid var(--nt-accent-border);
	color: var(--nt-accent-ink) !important;
	font-family: var(--nt-font-mono);
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.nt-domain-pill:hover {
	background: var(--nt-accent);
	border-color: var(--nt-accent);
	color: #FFFFFF !important;
}

.nt-meta-sep {
	color: var(--nt-muted-2);
}

.nt-eyebrow-comments {
	margin-left: auto;
	font-family: var(--nt-font-mono);
	font-size: 12px;
	color: var(--nt-muted);
}

.nt-eyebrow-comments:hover {
	color: var(--nt-accent-ink);
}

.post h1,
.nt-feed-card h2 {
	margin: 0 0 16px 0;
	font-family: var(--nt-font-head);
	font-weight: 800;
	line-height: 1.22;
	letter-spacing: -0.015em;
	color: var(--nt-heading);
	text-align: left;
}

.post h1 {
	font-size: 31px;
}

.nt-feed-card h2 {
	font-size: 25px;
}

.post h1 a,
.nt-feed-card h2 a {
	color: var(--nt-heading);
}

.post h1 a:hover,
.nt-feed-card h2 a:hover {
	color: var(--nt-accent-ink);
}

.nt-page-divider {
	height: 1px;
	background: var(--nt-border);
	margin: 0 0 20px 0;
}

/* Author & Metadata Card (.postdata) */
.nt-author-card {
	display: flex;
	align-items: center;
	gap: 13px;
	padding: 12px 15px;
	margin: 0 0 20px 0;
	border-radius: 11px;
	background: var(--nt-elevated);
	border: 1px solid var(--nt-border);
}

.nt-author-avatar {
	flex-shrink: 0;
	line-height: 0;
}

.nt-author-avatar img {
	width: 42px;
	height: 42px;
	border-radius: 50%;
	object-fit: cover;
	border: 2px solid var(--nt-accent-border);
	display: block;
}

.nt-author-info {
	min-width: 0;
	flex: 1;
}

.nt-author-top {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}

.nt-author-name {
	font-family: var(--nt-font-head);
	font-size: 15px;
	font-weight: 700;
	color: var(--nt-heading);
}

.nt-author-name:hover {
	color: var(--nt-accent-ink);
}

.nt-author-role {
	font-family: var(--nt-font-mono);
	font-size: 11px;
	font-weight: 500;
	padding: 2px 7px;
	border-radius: 5px;
	background: var(--nt-accent-soft);
	color: var(--nt-accent-ink);
	border: 1px solid var(--nt-accent-border);
}

.nt-author-sub {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 2px;
	font-size: 13px;
	color: var(--nt-muted);
}

.nt-author-actions {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-shrink: 0;
}

.nm-meta-edit a {
	display: inline-block;
	font-family: var(--nt-font-mono);
	font-size: 11.5px;
	padding: 3px 8px;
	border-radius: 6px;
	background: var(--nt-surface);
	border: 1px solid var(--nt-border);
	color: var(--nt-muted);
}

.nt-comment-jump {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 30px;
	height: 28px;
	padding: 0 9px;
	border-radius: 8px;
	background: var(--nt-surface);
	border: 1px solid var(--nt-border);
	font-family: var(--nt-font-mono);
	font-size: 12px;
	font-weight: 600;
	color: var(--nt-accent-ink);
}

.nt-comment-jump:hover {
	border-color: var(--nt-accent);
	background: var(--nt-accent-soft);
}

/* Strict Vertical Rhythm: 26px visual gap from .postdata to first paragraph */
.post .postdata + p {
	margin-top: 14px !important;
}

/* === 8. Article Typography, Justified Prose & Content Blocks === */
.post p,
.post li,
.post dd {
	font-size: 17.5px;
	line-height: 1.65;
	color: var(--nt-ink);
}

.post p:not(.nm-video):not(.nm-photo):not(.wp-caption-text):not([style*="center"]):not([align="center"]) {
	text-align: justify !important;
	text-justify: inter-word;
	hyphens: auto;
	-webkit-hyphens: auto;
}

.post div:not(.adsenseblock):not(.nm-ad-intext):not(.nt-author-card):not(.nt-article-eyebrow):not(.syntaxhighlighter):not([style*="center"]),
.post li,
.post td,
.post th,
.post blockquote,
.post blockquote p,
.post .nm-note,
.post .nm-note p,
.post pre,
.post h1,
.post h2,
.post h3,
.post h4,
.post .nm-caption,
.post .wp-caption-text {
	text-align: left !important;
	hyphens: none;
	-webkit-hyphens: none;
}

.post code,
.post kbd,
.post tt {
	hyphens: none;
	-webkit-hyphens: none;
}

.post p.nm-video {
	text-align: center !important;
	hyphens: none;
}

.post p {
	margin: 0 0 18px 0;
}

.post > p:first-of-type {
	font-size: 18px;
}

.post strong,
.post b {
	color: var(--nt-heading);
	font-weight: 600;
}

.post a:not(.nt-domain-pill):not(.more-link):not(.nt-author-name):not(.nt-comment-jump):not(.nt-eyebrow-comments) {
	color: var(--nt-accent-ink);
	text-decoration: underline;
	text-decoration-color: var(--nt-accent-border);
	text-underline-offset: 3px;
}

.post a:not(.nt-domain-pill):not(.more-link):not(.nt-author-name):not(.nt-comment-jump):not(.nt-eyebrow-comments):hover {
	color: var(--nt-heading);
	text-decoration-color: var(--nt-accent);
}

.post h1 a,
.post h2 a {
	color: var(--nt-heading) !important;
	text-decoration: none !important;
}

.post h1 a:hover,
.post h2 a:hover {
	color: var(--nt-accent-ink) !important;
}

.post h2 {
	margin: 34px 0 14px 0;
	padding-left: 14px;
	border-left: 3px solid var(--nt-accent);
	font-family: var(--nt-font-head);
	font-size: 23px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--nt-heading);
	scroll-margin-top: 24px;
}

.post h3 {
	margin: 26px 0 10px 0;
	font-family: var(--nt-font-head);
	font-size: 19px;
	font-weight: 700;
	line-height: 1.35;
	color: var(--nt-heading);
	scroll-margin-top: 24px;
}

.post ul,
.post ol {
	margin: 0 0 20px 0;
	padding-left: 24px;
}

.post li {
	margin-bottom: 8px;
}

.post li::marker {
	color: var(--nt-accent);
	font-weight: 600;
}

/* Blockquotes & Editorial Notes */
.post blockquote {
	margin: 22px 0;
	padding: 16px 20px;
	border-left: 3px solid var(--nt-accent);
	border-radius: 0 10px 10px 0;
	background: var(--nt-elevated);
	color: var(--nt-ink);
}

.post blockquote p:last-child {
	margin-bottom: 0;
}

/* Inline Code & Code / Terminal Blocks */
.post code,
.post tt {
	font-family: var(--nt-font-mono);
	font-size: 0.87em;
	padding: 2px 6px;
	border-radius: 5px;
	background: var(--nt-inline-code-bg);
	color: var(--nt-inline-code-ink);
}

.post pre {
	margin: 20px 0;
	padding: 16px 18px;
	border-radius: 10px;
	background: var(--nt-code-bg) !important;
	border: 1px solid #223552;
	border-top: 2px solid var(--nt-accent);
	color: var(--nt-code-ink) !important;
	font-family: var(--nt-font-mono);
	font-size: 14px;
	line-height: 1.55;
	overflow-x: auto;
	text-align: left !important;
}

.post pre code {
	background: transparent !important;
	color: var(--nt-code-ink) !important;
	padding: 0 !important;
	border-radius: 0 !important;
	font-size: inherit !important;
}

/* SyntaxHighlighter Plugin Compatibility (Overrides shCore + shThemeDefault injected in footer) */
body .post .syntaxhighlighter {
	margin: 20px 0 !important;
	padding: 14px 16px !important;
	border-radius: 10px !important;
	border: 1px solid #223552 !important;
	border-top: 2px solid var(--nt-accent) !important;
	background: var(--nt-code-bg) !important;
	background-color: var(--nt-code-bg) !important;
	color: #E2EAF4 !important;
	overflow-x: auto !important;
	text-align: left !important;
}

body .post .syntaxhighlighter table,
body .post .syntaxhighlighter table tbody,
body .post .syntaxhighlighter table tr,
body .post .syntaxhighlighter table th,
body .post .syntaxhighlighter table td,
body .post .syntaxhighlighter .container,
body .post .syntaxhighlighter .code,
body .post .syntaxhighlighter .gutter {
	border: 0 !important;
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
	margin: 0 !important;
}

body .post .syntaxhighlighter .line,
body .post .syntaxhighlighter .line.alt1,
body .post .syntaxhighlighter .line.alt2,
body .post .syntaxhighlighter .container .line.alt1,
body .post .syntaxhighlighter .container .line.alt2,
body .post .syntaxhighlighter .gutter .line.alt1,
body .post .syntaxhighlighter .gutter .line.alt2 {
	background: transparent !important;
	background-color: transparent !important;
}

body .post .syntaxhighlighter .line.highlighted.alt1,
body .post .syntaxhighlighter .line.highlighted.alt2,
body .post .syntaxhighlighter .line.highlighted.number {
	background: rgba(57, 135, 247, 0.16) !important;
	background-color: rgba(57, 135, 247, 0.16) !important;
}

body .post .syntaxhighlighter .toolbar {
	display: none !important;
}

body .post .syntaxhighlighter table td.code .container textarea {
	background: var(--nt-code-bg) !important;
	color: #E2EAF4 !important;
}

body .post .syntaxhighlighter .gutter .line {
	color: #6B82A4 !important;
	border-right: 1px solid #1E314D !important;
	padding: 0 12px 0 4px !important;
}

body .post .syntaxhighlighter .code .line {
	color: #E2EAF4 !important;
	padding: 0 8px !important;
}

body .post .syntaxhighlighter code,
body .post .syntaxhighlighter .code .line code,
body .post .syntaxhighlighter .plain,
body .post .syntaxhighlighter .plain a {
	background: transparent !important;
	background-color: transparent !important;
	color: #E2EAF4 !important;
	padding: 0 !important;
	border-radius: 0 !important;
	font-family: var(--nt-font-mono) !important;
	font-size: 14px !important;
	line-height: 1.55 !important;
}

body .post .syntaxhighlighter .comments,
body .post .syntaxhighlighter .comments a { color: #7C92B2 !important; }
body .post .syntaxhighlighter .keyword,
body .post .syntaxhighlighter .keyword a { color: #68A8FF !important; font-weight: 600 !important; }
body .post .syntaxhighlighter .string,
body .post .syntaxhighlighter .string a { color: #34D399 !important; }
body .post .syntaxhighlighter .value,
body .post .syntaxhighlighter .value a { color: #FBBF24 !important; }
body .post .syntaxhighlighter .functions,
body .post .syntaxhighlighter .functions a { color: #F472B6 !important; }
body .post .syntaxhighlighter .variable,
body .post .syntaxhighlighter .variable a { color: #93C5FD !important; }
body .post .syntaxhighlighter .constants,
body .post .syntaxhighlighter .preprocessor { color: #A5B4FC !important; }

/* Read More Pill on Index Cards */
.more-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 6px;
	padding: 8px 16px;
	border-radius: 8px;
	background: var(--nt-accent-soft);
	border: 1px solid var(--nt-accent-border);
	color: var(--nt-accent-ink) !important;
	font-family: var(--nt-font-head);
	font-size: 14.5px;
	font-weight: 600;
	text-decoration: none !important;
}

.more-link:hover {
	background: var(--nt-accent);
	border-color: var(--nt-accent);
	color: #FFFFFF !important;
}

/* === 9. AdSense Safety & Single Bottom Rhythm === */
.post .nm-ad-intext {
	margin: 1.5em 0 0 !important;
	text-align: center !important;
}

.post .nm-ad-intext + p {
	margin-top: 1.85em !important;
}

.post .adsenseblock {
	padding-top: 0 !important;
	margin-top: 26px !important;
	margin-bottom: 0 !important;
	text-align: center !important;
}

.nm-ad-intext ins.adsbygoogle[data-ad-status="unfilled"],
.adsenseblock ins.adsbygoogle[data-ad-status="unfilled"] {
	display: none !important;
	height: 0 !important;
	margin: 0 !important;
}

/* Related Posts under Single Article (strict 26px top, 0px under heading) */
.friends {
	margin-top: 26px !important;
	margin-bottom: 0 !important;
	padding: 12px 18px 8px 18px !important;
	border-radius: 12px 12px 0 0;
	background: var(--nt-surface);
	border: 1px solid var(--nt-border);
	border-bottom: 0;
	font-family: var(--nt-font-head);
	font-size: 16px;
	font-weight: 700;
	color: var(--nt-heading);
}

.podob {
	padding: 0 18px 14px 18px;
	border-radius: 0 0 12px 12px;
	background: var(--nt-surface);
	border: 1px solid var(--nt-border);
	border-top: 0;
	font-size: 15.5px;
	line-height: 1.75;
	box-shadow: var(--nt-card-shadow);
}

.podob a {
	color: var(--nt-accent-ink);
}

.podob br:last-of-type {
	display: none !important;
}

/* === 10. Comments, Author Badge & 20-Smiley Row === */
#com {
	margin: 0;
}

#comhead,
#respond {
	margin-top: 26px !important;
	margin-bottom: 0 !important;
	padding: 13px 20px;
	border-radius: 12px 12px 0 0;
	background: var(--nt-elevated);
	border: 1px solid var(--nt-border);
	border-bottom: 1px solid var(--nt-border);
	font-family: var(--nt-font-head);
	font-size: 17px;
	font-weight: 700;
	color: var(--nt-heading);
	display: flex;
	align-items: center;
	gap: 9px;
}

.com-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 2px 8px;
	border-radius: 999px;
	background: var(--nt-accent-soft);
	border: 1px solid var(--nt-accent-border);
	color: var(--nt-accent-ink);
	font-family: var(--nt-font-mono);
	font-size: 12px;
	font-weight: 600;
}

.commentlist {
	background: var(--nt-surface);
	border: 1px solid var(--nt-border);
	border-top: 0;
	border-radius: 0 0 12px 12px;
	box-shadow: var(--nt-card-shadow);
	overflow: hidden;
}

.commentlist .item {
	padding: 18px 20px;
	border-bottom: 1px solid var(--nt-border);
}

.commentlist .item:last-child {
	border-bottom: 0;
}

.commentlist .item.alt2 {
	background: rgba(128, 146, 174, 0.025);
}

.commentlist .item.is-author {
	background: var(--nt-accent-soft);
	box-shadow: inset 3px 0 0 var(--nt-accent);
}

.comment-meta {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 10px;
}

.cgravatar img {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	object-fit: cover;
	border: 1px solid var(--nt-border-strong);
	display: block;
}

.com-author-row {
	display: flex;
	align-items: center;
	gap: 8px;
}

.com-name {
	font-family: var(--nt-font-head);
	font-size: 15px;
	font-weight: 700;
	color: var(--nt-heading);
}

.com-badge {
	font-family: var(--nt-font-mono);
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	padding: 1px 7px;
	border-radius: 5px;
	background: var(--nt-accent);
	color: #FFFFFF;
}

.comment-date {
	font-family: var(--nt-font-mono);
	font-size: 12px;
	color: var(--nt-muted);
}

.comment-body p {
	margin: 0 0 10px 0;
	font-size: 16px;
	line-height: 1.6;
	color: var(--nt-ink);
	text-align: left !important;
}

.comment-body p:last-child {
	margin-bottom: 0;
}

.comment-body img.wp-smiley {
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	vertical-align: middle;
	display: inline;
	height: 18px !important;
	width: auto !important;
}

.nocomments,
.nt-comment-box {
	margin-top: 26px;
	padding: 16px 20px;
	background: var(--nt-surface);
	border: 1px solid var(--nt-border);
	border-radius: 12px;
	font-size: 15.5px;
	color: var(--nt-muted);
}

#commentform {
	margin-top: 0 !important;
	padding: 20px;
	background: var(--nt-surface);
	border: 1px solid var(--nt-border);
	border-top: 0;
	border-radius: 0 0 12px 12px;
	box-shadow: var(--nt-card-shadow);
}

.nt-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin-bottom: 14px;
}

.nt-field {
	margin: 0;
}

.nt-field label {
	display: block;
	font-size: 13.5px;
	color: var(--nt-muted);
	margin-bottom: 6px;
}

.nt-field label strong {
	color: var(--nt-heading);
	font-weight: 600;
}

.nt-req {
	color: var(--nt-accent-ink);
}

#commentform input[type="text"],
#commentform input[type="email"],
#commentform textarea {
	width: 100%;
	padding: 10px 13px;
	border-radius: 9px;
	background: var(--nt-input-bg);
	border: 1px solid var(--nt-border-strong);
	color: var(--nt-heading);
	font-family: var(--nt-font-sans);
	font-size: 15.5px;
	line-height: 1.5;
	transition: border-color .15s ease, box-shadow .15s ease;
}

#commentform textarea {
	min-height: 132px;
	resize: vertical;
}

#commentform input:focus,
#commentform textarea:focus {
	outline: none;
	border-color: var(--nt-accent);
	box-shadow: 0 0 0 3px var(--nt-accent-soft);
}

#nm-smilies {
	display: flex !important;
	flex-wrap: nowrap !important;
	justify-content: space-between !important;
	width: 582px !important;
	max-width: 100% !important;
	margin: 10px 0 14px !important;
	padding: 4px 6px;
	border-radius: 9px;
	background: var(--nt-elevated);
	border: 1px solid var(--nt-border);
}

#nm-smilies .nm-sm:hover {
	background: var(--nt-accent-soft) !important;
}

.nt-submit-row {
	margin-top: 4px;
}

#commentform input#submit {
	padding: 10px 20px;
	border-radius: 9px;
	border: 1px solid var(--nt-accent);
	background: var(--nt-accent);
	color: #FFFFFF;
	font-family: var(--nt-font-head);
	font-size: 14.5px;
	font-weight: 700;
	cursor: pointer;
	transition: filter .15s ease, transform .12s ease;
}

#commentform input#submit:hover {
	filter: brightness(1.08);
}

/* === 11. Right Sidebar (316px: Search, TOC, Popular, Related) === */
#sidebar .widget {
	background: var(--nt-surface);
	border: 1px solid var(--nt-border);
	border-radius: 13px;
	padding: 18px 20px;
	margin-bottom: 18px;
	box-shadow: var(--nt-card-shadow);
}

#sidebar .widget h2,
#sidebar .widget h2.hl {
	margin: 0 0 12px 0;
	padding-bottom: 9px;
	border-bottom: 1px solid var(--nt-border);
	font-family: var(--nt-font-mono);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--nt-muted);
}

/* Search Box */
.nt-search-row {
	display: flex;
	gap: 8px;
}

.nt-search-row input[type="text"] {
	flex: 1;
	min-width: 0;
	padding: 8px 12px;
	border-radius: 8px;
	background: var(--nt-input-bg);
	border: 1px solid var(--nt-border-strong);
	color: var(--nt-heading);
	font-family: var(--nt-font-sans);
	font-size: 14px;
}

.nt-search-row input[type="text"]:focus {
	outline: none;
	border-color: var(--nt-accent);
}

.nt-search-row input[type="submit"] {
	padding: 8px 13px;
	border-radius: 8px;
	border: 1px solid var(--nt-accent);
	background: var(--nt-accent);
	color: #FFFFFF;
	font-family: var(--nt-font-head);
	font-size: 13.5px;
	font-weight: 700;
	cursor: pointer;
}

.nt-search-row input[type="submit"]:hover {
	filter: brightness(1.08);
}

/* Article TOC Widget */
.nt-toc-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.nt-toc-list li a {
	display: flex;
	align-items: baseline;
	gap: 9px;
	padding: 7px 9px;
	border-radius: 8px;
	border-left: 2px solid transparent;
	font-size: 14px;
	line-height: 1.4;
	color: var(--nt-ink);
}

.nt-toc-list li.is-sub a {
	padding-left: 18px;
	font-size: 13.5px;
}

.nt-toc-list li a:hover {
	background: var(--nt-elevated);
	color: var(--nt-heading);
}

.nt-toc-list li.is-active a {
	background: var(--nt-accent-soft);
	border-left-color: var(--nt-accent);
	color: var(--nt-heading);
	font-weight: 600;
}

.nt-toc-num {
	font-family: var(--nt-font-mono);
	font-size: 11.5px;
	font-weight: 600;
	color: var(--nt-accent-ink);
	flex-shrink: 0;
}

/* Sidebar Post Cards (Popular & Related with TECH/MARKETS color coding) */
.nt-side-cards {
	display: flex;
	flex-direction: column;
	gap: 9px;
}

.nt-side-card {
	display: block;
	padding: 10px 12px;
	border-radius: 9px;
	background: var(--nt-elevated);
	border: 1px solid var(--nt-border);
	border-left: 3px solid var(--nt-accent);
}

.nt-side-card:hover {
	border-color: var(--nt-accent-border);
	border-left-color: var(--nt-accent);
	transform: translateY(-1px);
}

.nt-side-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 4px;
	font-family: var(--nt-font-mono);
	font-size: 11px;
	color: var(--nt-muted);
}

.nt-side-tag {
	font-weight: 600;
	letter-spacing: 0.06em;
	color: var(--nt-accent-ink);
}

.nt-side-title {
	display: block;
	font-family: var(--nt-font-head);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.38;
	color: var(--nt-heading);
}

/* Fallback Default WP Widgets on Home / Archives */
#sidebar .widget ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

#sidebar .widget_categories ul,
#sidebar .widget_recent_entries ul,
#sidebar .widget_recent_comments ul {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

#sidebar .widget li {
	font-size: 14px;
	line-height: 1.45;
	color: var(--nt-muted);
}

#sidebar .widget li a {
	color: var(--nt-ink);
}

#sidebar .widget li a:hover {
	color: var(--nt-accent-ink);
}

/* === 12. Pagination === */
.nav-previous {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	margin-top: 6px;
}

.nav-previous a {
	display: inline-flex;
	align-items: center;
	padding: 9px 16px;
	border-radius: 9px;
	background: var(--nt-surface);
	border: 1px solid var(--nt-border);
	font-family: var(--nt-font-head);
	font-size: 14.5px;
	font-weight: 600;
	color: var(--nt-heading);
	box-shadow: var(--nt-card-shadow);
}

.nav-previous a:hover {
	border-color: var(--nt-accent);
	color: var(--nt-accent-ink);
}

/* === 13. Editorial Dark Footer === */
.nt-footer {
	margin-top: 30px;
	padding-top: 32px;
	padding-bottom: 28px;
	border-top: 1px solid var(--nt-header-border);
	background: var(--nt-header-bg);
	color: #B4C2D6;
	border-radius: 16px 16px 0 0;
}

.nt-footer-grid {
	display: grid;
	grid-template-columns: 1.5fr 1fr 1fr;
	gap: 28px;
}

.nt-footer-brand {
	font-family: var(--nt-font-head);
	font-size: 16px;
	font-weight: 800;
	letter-spacing: 0.04em;
	color: #F8FAFC;
	margin-bottom: 8px;
}

.nt-footer-brand span {
	color: var(--nt-tech);
}

.nt-footer-desc {
	margin: 0;
	font-size: 13.5px;
	line-height: 1.55;
	color: #8E9EB7;
}

.nt-footer-heading {
	font-family: var(--nt-font-mono);
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #7D91B0;
	margin-bottom: 10px;
}

.nt-footer-links {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 7px;
	font-size: 14px;
}

.nt-footer-links a {
	color: #CBD5E1;
}

.nt-footer-links a:hover {
	color: #68A8FF;
}

.nt-contact-label {
	color: #7D91B0;
}

.nt-contact-note {
	font-size: 13px;
	color: #7D91B0;
}

.nt-footer-bottom {
	margin-top: 24px;
	padding-top: 16px;
	border-top: 1px solid #1E2E47;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	font-size: 12.5px;
	color: #7D91B0;
}

.nt-footer-bottom a {
	color: #93C5FD;
}

.nt-footer-sig {
	font-family: var(--nt-font-mono);
	font-size: 11.5px;
	letter-spacing: 0.08em;
	color: #647896;
}

/* === 14. Responsive Tablet & Mobile (Sidebar Drops Cleanly Below Article) === */
@media (max-width: 1000px) {
	#content {
		display: block;
		padding-top: 20px;
	}

	#sidebar {
		margin-top: 24px;
	}

	.nt-pillars {
		grid-template-columns: minmax(0, 1fr);
		gap: 8px;
	}
}

@media (max-width: 720px) {
	.nt-masthead,
	#content,
	.nt-footer {
		padding-left: 14px;
		padding-right: 14px;
	}

	.nt-masthead {
		padding-top: 14px;
		padding-bottom: 14px;
	}

	.nt-nav-wrap {
		width: 100%;
		justify-content: space-between;
		flex-wrap: wrap;
		gap: 8px;
	}

	#menu li a {
		padding: 6px 8px;
		font-size: 13.5px;
	}

	.post {
		padding: 20px 16px;
		border-radius: 12px;
		overflow-wrap: break-word;
	}

	.nt-eyebrow-meta .nt-sep-desktop {
		display: none;
	}

	.post h1 {
		font-size: 25px;
	}

	.nt-feed-card h2 {
		font-size: 21px;
	}

	.nt-author-card {
		flex-wrap: wrap;
	}

	.nt-form-grid {
		grid-template-columns: 1fr;
	}

	.nt-footer-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}
}

@media (max-width: 420px) {
	.nt-kicker {
		padding-left: 8px;
		font-size: 10px;
	}

	#menu {
		gap: 2px;
	}

	#menu li a {
		padding: 5px 6px;
		font-size: 13px;
	}

	.nt-controls {
		gap: 6px;
	}

	.nt-lang-trigger {
		height: 34px;
		padding: 0 9px;
		font-size: 12.5px;
	}

	.nt-theme-btn {
		width: 34px;
		height: 34px;
	}

	.nt-pillar {
		padding: 9px 10px;
		gap: 9px;
		font-size: 12.5px;
	}
}

/* Mobile Smilies 10x2 Symmetrical Grid */
@media (max-width: 625px) {
	#nm-smilies {
		display: grid !important;
		grid-template-columns: repeat(10, minmax(0, 1fr)) !important;
		gap: 4px 2px !important;
		width: 100% !important;
	}

	#nm-smilies .nm-sm {
		width: 100% !important;
		min-width: 0 !important;
	}
}
