/* Cryptoworld article components (.cw-*) — layout modelled on law-firms-in.com/news */

:root {
	--cw-ink: #14213d;
	--cw-text: #2b3445;
	--cw-muted: #66718a;
	--cw-line: #e3e8f0;
	--cw-soft: #f5f8fc;
	--cw-accent: #2f6fed;
	--cw-good: #1f9d55;
	--cw-risk: #d64545;
	--cw-watch: #d9822b;
	--cw-todo: #7a4fd6;
	--cw-context: #4a5a78;
	--cw-radius: 10px;
	--cw-code-bg: #0f172a;
	--cw-code-ink: #e2e8f0;
	--cw-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--cw-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
}

/* ---------- typography: one font, one scale (body.cw-layout is set on single posts) ---------- */
body.cw-layout .blog_post_title .entry-title,
body.cw-layout .entry-content,
body.cw-layout .entry-content p,
body.cw-layout .entry-content li,
body.cw-layout .entry-content td,
body.cw-layout .entry-content th,
body.cw-layout .entry-content h2,
body.cw-layout .entry-content h3,
body.cw-layout .entry-content h4,
body.cw-layout .lwptoc {
	font-family: var(--cw-font);
}
body.cw-layout .blog_post_title .entry-title {
	font-size: 34px;
	line-height: 1.25;
	font-weight: 800;
	letter-spacing: -.01em;
	color: var(--cw-ink);
}
body.cw-layout .entry-content,
body.cw-layout .entry-content p,
body.cw-layout .entry-content li {
	font-size: 17px;
	line-height: 1.7;
	color: #1f2937;
}
body.cw-layout .entry-content p { margin: 0 0 1.1em; }
body.cw-layout .entry-content ul,
body.cw-layout .entry-content ol { margin: 0 0 1.2em; padding-left: 1.3em; }
body.cw-layout .entry-content li { margin: 0 0 .45em; }
body.cw-layout .entry-content h2 {
	font-size: 26px;
	line-height: 1.3;
	font-weight: 750;
	color: var(--cw-ink);
	margin: 1.8em 0 .6em;
	letter-spacing: -.01em;
}
body.cw-layout .entry-content h3 {
	font-size: 20px;
	line-height: 1.35;
	font-weight: 700;
	color: var(--cw-ink);
	margin: 1.5em 0 .5em;
}
body.cw-layout .entry-content a { color: var(--cw-accent); text-underline-offset: 2px; }

/* ================= header (two tiers, in the spirit of thehackernews.com) =================
   Tier 1: navy band (same gradient as the article covers) — logo + tagline + search.
   Tier 2: white menu bar — links in ink, active/hover in the article accent blue. */
body.cw-skin { --cw-navy-1: #0b162b; --cw-navy-2: #16305a; --cw-band-h: 64px; --cw-menu-h: 46px; }

body.cw-skin .sticky_header .top_menu_wrapper {
	background: linear-gradient(90deg, var(--cw-navy-1), var(--cw-navy-2)) !important;
	box-shadow: 0 1px 0 #dce3ef, 0 6px 18px rgba(11, 22, 43, .06);
	font-family: var(--cw-font);
}
body.cw-skin .sticky_header .top_menu_wrapper > .container { height: auto; }

/* desktop grid: logo | search  /  menu (full-width white row) */
@media (min-width: 769px) {
	body.cw-skin .top_header_items_holder {
		display: grid !important;
		grid-template-columns: 1fr auto;
		grid-template-areas: "logo icons" "menu menu";
		align-items: center;
		height: auto !important;
	}
	body.cw-skin .top_header_items_holder > .logo_wrapper { grid-area: logo; height: var(--cw-band-h); display: flex !important; align-items: center; gap: 12px; float: none; margin: 0; width: auto; }
	body.cw-skin .top_header_items_holder > .header_icons { grid-area: icons; float: none; height: var(--cw-band-h); display: flex; align-items: center; }
	body.cw-skin .top_header_items_holder > .main_menu {
		grid-area: menu;
		float: none;
		background: #fff;
		/* paint the white row edge to edge, beyond the 1100px container */
		box-shadow: 0 0 0 100vmax #fff;
		clip-path: inset(0 -100vmax);
		height: var(--cw-menu-h);
	}
	body.cw-skin .site_header .invisible_header { height: calc(var(--cw-band-h) + var(--cw-menu-h)) !important; }
}

/* logo: white wordmark + accent dot + tagline */
body.cw-skin .top_menu_wrapper .logo_wrapper { display: flex; align-items: center; gap: 12px; }
body.cw-skin .top_menu_wrapper .logo_wrapper > a.asalah_logo { float: none; margin: 0; height: auto; display: block; }
body.cw-skin .top_menu_wrapper .logo_wrapper .site_logo_image { width: 40px; height: 40px; margin: 0; float: none; }
body.cw-skin .top_menu_wrapper .site_logo.site-title,
body.cw-skin .top_menu_wrapper .site_logo.site-title a {
	font-family: var(--cw-font) !important;
	font-size: 24px !important;
	font-weight: 800 !important;
	letter-spacing: -.02em;
	line-height: 1.1 !important;
	color: #fff !important;
	text-decoration: none;
	height: auto;
}
body.cw-skin .top_menu_wrapper .logo_dot { color: #5b8cff !important; }
body.cw-skin .top_menu_wrapper .logo_text_content { display: flex; flex-direction: column; justify-content: center; height: auto; float: none; margin: 0 !important; }
body.cw-skin .top_menu_wrapper .logo_text_content .site_logo { float: none; margin: 0 !important; padding: 0 !important; height: auto !important; }
body.cw-skin .top_menu_wrapper .logo_text_content::after {
	content: 'практическая информационная безопасность';
	display: block;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .02em;
	color: #9fb2d6;
	margin-top: 2px;
}

/* search icon on the navy band */
body.cw-skin .top_menu_wrapper .header_search a,
body.cw-skin .top_menu_wrapper .header_search i,
body.cw-skin .top_menu_wrapper .header_search button { color: #fff !important; font-size: 17px; }
body.cw-skin .sticky_header .top_menu_wrapper .logo_text_content .site_logo.site-title {
	display: flex !important;
	align-items: baseline;
	white-space: nowrap;
	height: auto !important;
	line-height: 1.1 !important;
}
body.cw-skin .sticky_header .top_menu_wrapper .logo_text_content .site_logo.site-title > a,
body.cw-skin .sticky_header .top_menu_wrapper .logo_text_content .logo_dot {
	display: inline-block !important;
	line-height: 1.1 !important;
	height: auto !important;
	float: none !important;
}
body.cw-skin .sticky_header .top_menu_wrapper .logo_text_content .logo_dot { font-size: 24px; margin-left: 1px; }
body.cw-skin .sticky_header .header_icons { border-left-color: rgba(255, 255, 255, .15) !important; }
body.cw-skin .top_menu_wrapper .header_search .search_text {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	color: #fff !important;
	font-family: var(--cw-font);
	font-size: 14px !important;
	border-radius: 8px;
	transition: background .2s, width .2s;
}
body.cw-skin .top_menu_wrapper .header_search .search_text::placeholder { color: transparent; }
body.cw-skin .top_menu_wrapper .header_search .search_text:focus {
	background: #fff !important;
	color: var(--cw-ink) !important;
	padding-left: 12px !important;
}
body.cw-skin .top_menu_wrapper .header_search .search_text:focus::placeholder { color: var(--cw-muted); }
body.cw-skin .top_menu_wrapper .header_search .search_text:focus + input + i,
body.cw-skin .top_menu_wrapper .header_search .search_text:focus ~ i { color: var(--cw-ink) !important; }

/* menu row */
body.cw-skin .main_menu .navbar-nav > li > a {
	font-family: var(--cw-font) !important;
	font-size: 14.5px !important;
	font-weight: 600 !important;
	letter-spacing: 0;
	text-transform: none !important;
	color: #3b4660 !important;
	line-height: var(--cw-menu-h) !important;
	height: var(--cw-menu-h);
	padding: 0 14px !important;
	position: relative;
	background: none !important;
}
body.cw-skin .main_menu .navbar-nav > li:first-child > a { padding-left: 0 !important; }
body.cw-skin .main_menu .navbar-nav > li > a:hover,
body.cw-skin .main_menu .navbar-nav > li.current-menu-item > a,
body.cw-skin .main_menu .navbar-nav > li.current-menu-ancestor > a,
body.cw-skin .main_menu .navbar-nav > li.current-post-ancestor > a,
body.cw-skin .main_menu .navbar-nav > li.current-category-ancestor > a { color: var(--cw-accent) !important; }
body.cw-skin .main_menu .navbar-nav > li > a::after {
	content: '';
	position: absolute;
	left: 14px;
	right: 14px;
	bottom: 0;
	height: 2px;
	background: var(--cw-accent);
	transform: scaleX(0);
	transition: transform .2s;
}
body.cw-skin .main_menu .navbar-nav > li:first-child > a::after { left: 0; }
body.cw-skin .main_menu .navbar-nav > li > a:hover::after,
body.cw-skin .main_menu .navbar-nav > li.current-menu-item > a::after,
body.cw-skin .main_menu .navbar-nav > li.current-post-ancestor > a::after,
body.cw-skin .main_menu .navbar-nav > li.current-category-ancestor > a::after { transform: scaleX(1); }

/* dropdowns */
body.cw-skin .main_menu .sub-menu {
	background: #fff !important;
	border: 1px solid var(--cw-line) !important;
	border-radius: 10px;
	box-shadow: 0 12px 32px rgba(11, 22, 43, .12) !important;
	padding: 6px 0 !important;
	min-width: 210px;
}
body.cw-skin .main_menu .sub-menu a {
	font-family: var(--cw-font) !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	color: #3b4660 !important;
	text-transform: none !important;
	padding: 8px 16px !important;
	line-height: 1.4 !important;
	background: none !important;
}
body.cw-skin .main_menu .sub-menu a:hover { color: var(--cw-accent) !important; background: var(--cw-soft) !important; }

/* reading progress bar in the accent colour */
body.cw-skin #reading_progress::-webkit-progress-value { background: var(--cw-accent) !important; }
body.cw-skin #reading_progress::-moz-progress-bar { background: var(--cw-accent) !important; }
body.cw-skin #reading_progress { color: var(--cw-accent); }

/* mobile / tablet: navy band only, white burger */
@media (max-width: 768px) {
	body.cw-skin .sticky_header .top_menu_wrapper > .container { display: flex; align-items: center; justify-content: space-between; min-height: 60px; }
	body.cw-skin .site_logo_mobile_topbar .site_logo.site-title,
	body.cw-skin .site_logo_mobile_topbar .site_logo.site-title a { font-size: 21px !important; }
	body.cw-skin .site_logo_mobile_topbar .logo_text_content::after { display: none; }
	body.cw-skin .site_logo_mobile_topbar .site_logo_image { width: 34px; height: 34px; margin-right: 10px; }
	body.cw-skin .mobile_menu_button {
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
		width: auto !important;
		padding: 8px !important;
		margin: 0 !important;
	}
	body.cw-skin .mobile_menu_button .mobile_menu_text { display: none !important; }
	body.cw-skin .mobile_menu_button .writing_mobile_icon span { background: #fff !important; }

	/* opened mobile menu: white panel under the band */
	body.cw-skin .sticky_header .top_menu_wrapper > .container { flex-wrap: wrap; }
	body.cw-skin .top_header_items_holder {
		flex: 0 0 calc(100% + 30px);
		order: 3;
		margin: 0 -15px;
		padding: 6px 16px 16px;
		background: #fff;
		box-shadow: 0 10px 24px rgba(11, 22, 43, .12);
		max-height: calc(100vh - 60px);
		overflow-y: auto;
	}
	body.cw-skin .top_header_items_holder > .logo_wrapper { display: none !important; }
	body.cw-skin .top_header_items_holder .main_menu,
	body.cw-skin .top_header_items_holder .main_nav,
	body.cw-skin .top_header_items_holder .navbar-nav { float: none !important; width: 100% !important; height: auto !important; margin: 0 !important; }
	body.cw-skin .top_header_items_holder .navbar-nav > li { float: none !important; display: block; border-bottom: 1px solid var(--cw-line); position: relative; }
	body.cw-skin .top_header_items_holder .navbar-nav > li > a {
		line-height: 1.3 !important;
		height: auto !important;
		padding: 13px 0 !important;
		font-size: 16px !important;
		color: var(--cw-ink) !important;
	}
	body.cw-skin .top_header_items_holder .navbar-nav > li > a::after { display: none; }
	body.cw-skin .top_header_items_holder .sub-menu {
		position: static !important;
		box-shadow: none !important;
		border: 0 !important;
		border-radius: 0;
		padding: 0 0 8px 14px !important;
		min-width: 0;
		background: transparent !important;
	}
	body.cw-skin .top_header_items_holder .sub-menu a { padding: 8px 0 !important; font-size: 15px !important; }
	body.cw-skin .top_header_items_holder [class*="toggle"], body.cw-skin .top_header_items_holder .fa-angle-down { color: var(--cw-muted) !important; }
	body.cw-skin .top_header_items_holder > .header_icons { float: none !important; width: 100%; height: auto; border: 0 !important; padding: 14px 0 0; margin: 0; }
	body.cw-skin .top_header_items_holder .header_search,
	body.cw-skin .top_header_items_holder .header_search form { float: none !important; width: 100% !important; height: auto; }
	body.cw-skin .top_header_items_holder .header_search .search_text {
		width: 100% !important;
		height: 44px !important;
		background: var(--cw-soft) !important;
		border: 1px solid var(--cw-line) !important;
		color: var(--cw-ink) !important;
		padding: 0 40px 0 14px !important;
	}
	body.cw-skin .top_header_items_holder .header_search .search_text::placeholder { color: var(--cw-muted); }
	body.cw-skin .top_header_items_holder .header_search form {
		position: relative;
		border: 0 !important;
		padding: 0 !important;
		margin: 0 !important;
		background: none !important;
		box-shadow: none !important;
		border-radius: 0 !important;
	}
	body.cw-skin .top_header_items_holder .header_search i {
		position: absolute !important;
		right: 14px !important;
		left: auto !important;
		top: 50% !important;
		transform: translateY(-50%);
		margin: 0 !important;
		color: var(--cw-muted) !important;
	}
	body.cw-skin .top_header_items_holder .header_icons,
	body.cw-skin .top_header_items_holder .header_search { border: 0 !important; box-shadow: none !important; background: none !important; border-radius: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }
	body.cw-skin .top_header_items_holder .header_search form { height: 44px !important; }
	/* keep logo + burger on one row */
	body.cw-skin .site_logo_mobile_topbar { flex: 1 1 auto; min-width: 0; width: auto !important; float: none !important; }
	body.cw-skin .mobile_menu_button { flex: 0 0 auto; order: 2; float: none !important; }
}

/* ================= post feed: home, categories, search (style of thehackernews.com) ================= */
.cw-feed-main { font-family: var(--cw-font); }
.cw-feed-head { margin: 4px 0 26px; padding-bottom: 18px; border-bottom: 1px solid var(--cw-line); }
.cw-feed-kicker {
	font-family: var(--cw-font);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--cw-accent);
	margin: 0 0 6px;
}
.cw-feed-kicker--home { margin: 6px 0 18px; }
body.cw-skin .cw-feed-title-h1 {
	font-family: var(--cw-font);
	font-size: 32px;
	line-height: 1.2;
	font-weight: 800;
	letter-spacing: -.01em;
	color: var(--cw-ink);
	margin: 0;
}
.cw-feed-desc, .cw-feed-desc p { font-size: 15px; line-height: 1.6; color: var(--cw-muted); margin: 8px 0 0; }

.cw-feed-item {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: 22px;
	align-items: start;
	margin: 0 0 26px;
	padding: 0 0 26px;
	border-bottom: 1px solid var(--cw-line);
}
.cw-feed-item:last-child { border-bottom: 0; }
.cw-feed-thumb {
	display: block;
	aspect-ratio: 1200 / 630;
	border-radius: 6px;
	overflow: hidden;
	background: linear-gradient(135deg, #0b162b, #16305a);
}
.cw-feed-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s; }
.cw-feed-item:hover .cw-feed-thumb img { transform: scale(1.04); }
.cw-feed-ph {
	display: flex;
	width: 100%;
	height: 100%;
	align-items: flex-end;
	padding: 12px 14px;
	box-sizing: border-box;
	color: rgba(255, 255, 255, .85);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}
body.cw-skin .cw-feed-title {
	font-family: var(--cw-font);
	font-size: 19px;
	line-height: 1.35;
	font-weight: 750;
	letter-spacing: -.005em;
	margin: 0 0 8px;
}
body.cw-skin .cw-feed-title a { color: var(--cw-ink); text-decoration: none; transition: color .15s; }
body.cw-skin .cw-feed-title a:hover { color: var(--cw-accent); }
.cw-feed-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 14px;
	font-size: 12.5px;
	color: var(--cw-muted);
	margin: 0 0 8px;
}
.cw-feed-meta > * + *::before { content: none; }
body.cw-skin .cw-feed-meta .cw-feed-cat {
	color: var(--cw-accent);
	font-weight: 700;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: .04em;
	font-size: 11.5px;
}
body.cw-skin .cw-feed-excerpt {
	font-family: var(--cw-font);
	font-size: 14.5px;
	line-height: 1.6;
	color: #4b5563;
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* pagination */
.cw-pagination { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0 40px; font-family: var(--cw-font); }
.cw-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 12px;
	border: 1px solid var(--cw-line);
	border-radius: 8px;
	background: #fff;
	color: var(--cw-ink);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}
.cw-pagination a.page-numbers:hover { border-color: var(--cw-accent); color: var(--cw-accent); }
.cw-pagination .page-numbers.current { background: var(--cw-accent); border-color: var(--cw-accent); color: #fff; }
.cw-pagination .page-numbers.dots { border: 0; background: none; min-width: 20px; }
.cw-feed-empty { font-size: 16px; color: var(--cw-text); }

@media (max-width: 768px) {
	.cw-feed-item { grid-template-columns: 1fr; gap: 12px; margin-bottom: 22px; padding-bottom: 22px; }
	body.cw-skin .cw-feed-title { font-size: 18px; }
	body.cw-skin .cw-feed-title-h1 { font-size: 26px; }
}
@media (min-width: 769px) and (max-width: 991px) {
	.cw-feed-item { grid-template-columns: 200px minmax(0, 1fr); gap: 16px; }
}

/* ---------- crumbs + meta line ---------- */
.cw-crumbs {
	font-size: 13px;
	color: var(--cw-muted);
	margin: 0 0 10px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.cw-crumbs a { color: var(--cw-muted); text-decoration: none; }
.cw-crumbs a:hover { color: var(--cw-accent); }
.cw-crumbs .cw-sep { margin: 0 6px; opacity: .6; }

.cw-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 14px;
	font-size: 13px;
	color: var(--cw-muted);
	margin: 0 0 22px;
}
.cw-meta a { color: var(--cw-muted); }
.cw-meta .cw-updated { color: var(--cw-good); font-weight: 600; }

/* ---------- cover ---------- */
.cw-cover { margin: 0 0 24px; }
.cw-cover img { display: block; width: 100%; height: auto; border-radius: var(--cw-radius); }

/* ---------- shared block chrome ---------- */
.cw-block-title {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--cw-muted);
	margin: 0 0 12px;
}
.cw-source-note { font-size: 12px; color: var(--cw-muted); margin: 10px 0 0; }

/* ---------- «Главное» ---------- */
.cw-keys {
	background: var(--cw-soft);
	border-left: 4px solid var(--cw-accent);
	border-radius: 0 var(--cw-radius) var(--cw-radius) 0;
	padding: 18px 22px;
	margin: 0 0 28px;
}
.cw-keys .cw-block-title { color: var(--cw-accent); }
.cw-keys ul { margin: 0; padding: 0 0 0 18px; }
.cw-keys li { margin: 0 0 8px; line-height: 1.55; }
.cw-keys li:last-child { margin-bottom: 0; }

/* ---------- key figures ---------- */
.cw-stats {
	border: 1px solid var(--cw-line);
	border-radius: var(--cw-radius);
	padding: 18px 20px;
	margin: 28px 0;
}
.cw-stats-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
	gap: 16px;
}
.cw-stat-value { display: block; font-size: 28px; font-weight: 800; line-height: 1.15; color: var(--cw-ink); }
.cw-stat-label { display: block; font-size: 13px; color: var(--cw-muted); margin-top: 4px; line-height: 1.4; }

/* ---------- conclusions ---------- */
.cw-concl { margin: 34px 0; }
.cw-concl > h2 { margin-bottom: 10px; }
.cw-concl-summary { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; padding: 0; list-style: none; }
.cw-concl-summary li {
	font-size: 12px;
	font-weight: 700;
	padding: 4px 10px;
	border-radius: 999px;
	background: var(--cw-soft);
	margin: 0;
}
.cw-concl-cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.cw-card {
	border: 1px solid var(--cw-line);
	border-top: 4px solid var(--cw-context);
	border-radius: var(--cw-radius);
	padding: 14px 16px;
	margin: 0;
	background: #fff;
}
.cw-card-label { display: block; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; margin-bottom: 6px; }
.cw-card-title { display: block; font-weight: 700; color: var(--cw-ink); margin-bottom: 6px; line-height: 1.35; }
.cw-card p { margin: 0; font-size: 14px; line-height: 1.55; }
.cw-card--good  { border-top-color: var(--cw-good); }  .cw-card--good  .cw-card-label, .cw-concl-summary .cw-good  { color: var(--cw-good); }
.cw-card--risk  { border-top-color: var(--cw-risk); }  .cw-card--risk  .cw-card-label, .cw-concl-summary .cw-risk  { color: var(--cw-risk); }
.cw-card--watch { border-top-color: var(--cw-watch); } .cw-card--watch .cw-card-label, .cw-concl-summary .cw-watch { color: var(--cw-watch); }
.cw-card--todo  { border-top-color: var(--cw-todo); }  .cw-card--todo  .cw-card-label, .cw-concl-summary .cw-todo  { color: var(--cw-todo); }

/* ---------- tables ---------- */
.cw-table { margin: 28px 0; }
.cw-table figcaption { font-weight: 700; color: var(--cw-ink); margin: 0 0 10px; }
.cw-table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--cw-line); border-radius: var(--cw-radius); }
.cw-table table { width: 100%; border-collapse: collapse; margin: 0; font-size: 14px; min-width: 480px; }
.cw-table th, .cw-table td { padding: 10px 12px; border-bottom: 1px solid var(--cw-line); text-align: left; vertical-align: top; }
.cw-table th { background: var(--cw-soft); font-weight: 700; color: var(--cw-ink); }
.cw-table tr:last-child td { border-bottom: 0; }

/* ---------- code ---------- */
body.cw-layout .cw-article pre,
body.cw-layout .cw-article pre.prettyprint,
body.cw-layout .cw-article pre.prettyprinted {
	background: var(--cw-code-bg) !important;
	color: var(--cw-code-ink) !important;
	border: 0 !important;
	border-radius: var(--cw-radius);
	padding: 16px 18px !important;
	margin: 16px 0 24px;
	overflow-x: auto;
	white-space: pre;
	font-family: var(--cw-mono) !important;
	font-size: 14.5px !important;
	line-height: 1.65 !important;
	-webkit-overflow-scrolling: touch;
	box-shadow: none;
}
body.cw-layout .cw-article pre code,
body.cw-layout .cw-article pre span {
	background: none !important;
	font-family: inherit !important;
	font-size: inherit !important;
	line-height: inherit !important;
	white-space: inherit;
	padding: 0;
	border: 0;
}
/* Code Prettify paints tokens for a light background and loads its CSS after ours — override with !important. */
body.cw-layout .cw-article pre,
body.cw-layout .cw-article pre code,
body.cw-layout .cw-article pre .pln { color: #e2e8f0 !important; }
body.cw-layout .cw-article pre .str,
body.cw-layout .cw-article pre .atv { color: #a5e3a8 !important; }
body.cw-layout .cw-article pre .kwd,
body.cw-layout .cw-article pre .tag { color: #93c5fd !important; }
body.cw-layout .cw-article pre .com { color: #94a3b8 !important; font-style: italic; }
body.cw-layout .cw-article pre .typ,
body.cw-layout .cw-article pre .atn { color: #fcd34d !important; }
body.cw-layout .cw-article pre .lit,
body.cw-layout .cw-article pre .dec,
body.cw-layout .cw-article pre .var { color: #f9a8d4 !important; }
body.cw-layout .cw-article pre .pun,
body.cw-layout .cw-article pre .opn,
body.cw-layout .cw-article pre .clo { color: #cbd5e1 !important; }
body.cw-layout .cw-article pre .fun { color: #7dd3fc !important; }

/* inline code: same visual size as the text around it, calm colours */
body.cw-layout .cw-article :not(pre) > code {
	font-family: var(--cw-mono) !important;
	font-size: .86em !important;
	color: #0f3a80 !important;
	background: #eef3fb !important;
	border: 1px solid #dbe5f5;
	border-radius: 5px;
	padding: .1em .38em;
	white-space: normal;
	word-break: break-word;
}

/* ---------- notes ---------- */
.cw-note, .cw-warning {
	border-radius: var(--cw-radius);
	padding: 12px 16px;
	margin: 18px 0;
	font-size: 15px;
	line-height: 1.55;
}
.cw-note { background: #eef4ff; border: 1px solid #cfdcfb; }
.cw-warning { background: #fff4e5; border: 1px solid #f5d3a3; }
.cw-note p, .cw-warning p { margin: 0; }

/* ---------- FAQ ---------- */
.cw-faq { margin: 34px 0; }
.cw-faq details {
	border: 1px solid var(--cw-line);
	border-radius: var(--cw-radius);
	padding: 0 16px;
	margin: 0 0 10px;
	background: #fff;
}
.cw-faq summary {
	cursor: pointer;
	font-weight: 700;
	color: var(--cw-ink);
	padding: 14px 0;
	list-style: none;
}
.cw-faq summary::-webkit-details-marker { display: none; }
.cw-faq summary::after { content: '+'; float: right; color: var(--cw-muted); font-weight: 400; }
.cw-faq details[open] summary::after { content: '−'; }
.cw-faq details > div { padding: 0 0 14px; }
.cw-faq details p { margin: 0 0 8px; }

/* ---------- sources + «Читайте на Cryptoworld» ---------- */
.cw-sources {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin: 40px 0 20px;
	padding-top: 28px;
	border-top: 1px solid var(--cw-line);
}
.cw-sources > div {
	background: #fff;
	border: 1px solid var(--cw-line);
	border-radius: 12px;
	padding: 18px 20px 20px;
}
body.cw-layout .cw-sources .cw-block-title {
	font-size: 13px;
	letter-spacing: .05em;
	color: var(--cw-ink);
	margin: 0 0 14px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--cw-line);
}
body.cw-layout .entry-content .cw-sources ul { list-style: none; margin: 0; padding: 0; counter-reset: cwsrc; }
body.cw-layout .entry-content .cw-sources li {
	position: relative;
	margin: 0 0 14px;
	padding-left: 34px;
	font-size: 15px;
	line-height: 1.45;
}
body.cw-layout .entry-content .cw-sources li:last-child { margin-bottom: 0; }
/* numbered badges for primary sources, arrows for on-site reading */
.cw-sources > div:first-child li::before {
	counter-increment: cwsrc;
	content: counter(cwsrc);
	position: absolute;
	left: 0;
	top: 1px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #eef3fb;
	color: var(--cw-accent);
	font-size: 12px;
	font-weight: 700;
	line-height: 22px;
	text-align: center;
}
.cw-sources > div:last-child li::before {
	content: '→';
	position: absolute;
	left: 4px;
	top: 0;
	color: var(--cw-accent);
	font-weight: 700;
}
body.cw-layout .entry-content .cw-sources a {
	color: var(--cw-ink);
	font-weight: 600;
	text-decoration: none;
	background-image: linear-gradient(currentColor, currentColor);
	background-size: 0 1px;
	background-position: 0 100%;
	background-repeat: no-repeat;
	transition: background-size .2s, color .2s;
}
body.cw-layout .entry-content .cw-sources a:hover { color: var(--cw-accent); background-size: 100% 1px; }
.cw-domain {
	display: table;
	font-size: 12px;
	line-height: 1;
	color: var(--cw-muted);
	background: var(--cw-soft);
	border-radius: 4px;
	padding: 3px 6px;
	margin-top: 6px;
}

/* ---------- disclaimer + source line: one info panel ---------- */
body.cw-layout .entry-content .cw-disclaimer {
	position: relative;
	font-size: 14px;
	line-height: 1.6;
	color: var(--cw-muted);
	background: var(--cw-soft);
	border: 1px solid var(--cw-line);
	border-bottom: 0;
	border-radius: 12px 12px 0 0;
	padding: 14px 18px 10px 46px;
	margin: 20px 0 0;
}
body.cw-layout .entry-content .cw-disclaimer::before {
	content: 'i';
	position: absolute;
	left: 16px;
	top: 15px;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	border: 1.5px solid var(--cw-muted);
	font: 700 12px/17px Georgia, serif;
	text-align: center;
	color: var(--cw-muted);
}
body.cw-layout .entry-content .cw-source-line {
	font-size: 13px;
	font-weight: 600;
	color: var(--cw-ink);
	background: var(--cw-soft);
	border: 1px solid var(--cw-line);
	border-top: 1px dashed var(--cw-line);
	border-radius: 0 0 12px 12px;
	padding: 10px 18px 12px 46px;
	margin: 0 0 28px;
}

/* ---------- chips «Похожие темы» ---------- */
.cw-chips-box { margin: 28px 0 8px; padding: 0; background: none; }
body.cw-layout .entry-content .cw-chips-box h2 {
	font-size: 15px;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--cw-muted);
	margin: 0 0 12px;
}
body.cw-layout .entry-content .cw-chips { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; margin: 0; padding: 0; }
body.cw-layout .entry-content .cw-chips li { margin: 0; font-size: 14px; }
body.cw-layout .entry-content .cw-chips a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: #fff;
	border: 1px solid #d5deeb;
	border-radius: 999px;
	padding: 8px 16px;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	color: var(--cw-ink);
	transition: border-color .15s, color .15s, background .15s;
}
body.cw-layout .entry-content .cw-chips a::before { content: '#'; color: var(--cw-accent); font-weight: 700; }
body.cw-layout .entry-content .cw-chips a:hover { border-color: var(--cw-accent); color: var(--cw-accent); background: #f4f8ff; }

/* ================= theme blocks under the article (only with the new layout) ================= */
body.cw-layout .yasr-auto-insert-visitor,
body.cw-layout .blog_post_control,
body.cw-layout .author_box,
body.cw-layout .post_navigation,
body.cw-layout .post_related,
body.cw-layout #respond,
body.cw-layout .comments-area { font-family: var(--cw-font); }

/* rating */
body.cw-layout .yasr-auto-insert-visitor {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 16px;
	border: 1px solid var(--cw-line);
	border-radius: 12px;
	padding: 14px 18px;
	margin: 28px 0 16px;
	text-align: left !important;
}
body.cw-layout .yasr-visitor-votes { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 14px; }
body.cw-layout .yasr-custom-text-vv-before { font-weight: 700; color: var(--cw-ink); font-size: 15px; }
body.cw-layout .yasr-vv-stats-text-container { font-size: 13px; color: var(--cw-muted); }

/* share */
body.cw-layout .blog_post_control { border: 0; padding: 0; margin: 0 0 28px; }
body.cw-layout .blog_post_share { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
body.cw-layout .blog_post_share .share_sign::after { content: 'Поделиться'; font-size: 13px; font-weight: 700; color: var(--cw-muted); margin-left: 6px; }
body.cw-layout .blog_post_share a[href*="plus.google"] { display: none !important; }
body.cw-layout .blog_post_share .social_share_item_wrapper a {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--cw-line);
	background: #fff;
}
body.cw-layout .blog_post_share .social_share_item_wrapper a:hover { border-color: var(--cw-accent); }

/* author */
body.cw-layout .author_box {
	display: flex;
	gap: 18px;
	align-items: flex-start;
	background: var(--cw-soft);
	border: 1px solid var(--cw-line);
	border-radius: 12px;
	padding: 20px;
	margin: 0 0 24px;
}
body.cw-layout .author_box .author-avatar { flex: 0 0 64px; width: 64px; height: 64px; margin: 0; float: none; }
body.cw-layout .author_box .author-avatar img { width: 64px !important; height: 64px !important; max-width: none; border-radius: 50%; object-fit: cover; }
body.cw-layout .author_box .author-description { flex: 1 1 auto; min-width: 0; margin: 0; padding: 0; float: none; width: auto; }
body.cw-layout .author_box .author-description,
body.cw-layout .author_box .author-description p { font-size: 15px; line-height: 1.6; color: var(--cw-text); margin: 0; }
body.cw-layout .author_box .author-title,
body.cw-layout .author_box h4,
body.cw-layout .author_box h3 { font-family: var(--cw-font); font-size: 17px; font-weight: 700; color: var(--cw-ink); margin: 0 0 6px; }

/* prev / next */
body.cw-layout .post_navigation { margin: 0 0 32px; }
body.cw-layout .post_navigation_item {
	border: 1px solid var(--cw-line);
	border-radius: 12px;
	padding: 14px 16px;
	background: #fff;
}
body.cw-layout .post_navigation_item .post_info_wrapper { font-size: 15px; font-weight: 600; line-height: 1.4; }
body.cw-layout .post_navigation_item .post_info_wrapper span,
body.cw-layout .post_navigation_item .post_info_wrapper small { display: block; font-size: 12px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--cw-muted); margin-bottom: 4px; }

/* related posts: even 3-column card grid */
body.cw-layout .post_related { margin: 0 0 36px; }
body.cw-layout .post_related .related_title {
	font-family: var(--cw-font);
	font-size: 22px;
	font-weight: 750;
	color: var(--cw-ink);
	margin: 0 0 16px;
}
body.cw-layout .post_related > .row {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin: 0;
}
body.cw-layout .post_related > .row::before,
body.cw-layout .post_related > .row::after { display: none; }
body.cw-layout .post_related .blog_post_container {
	width: auto;
	float: none;
	padding: 0;
	margin: 0;
}
body.cw-layout .post_related .blog_post {
	height: 100%;
	border: 1px solid var(--cw-line);
	border-radius: 12px;
	overflow: hidden;
	background: #fff;
	margin: 0;
	transition: box-shadow .2s, transform .2s;
}
body.cw-layout .post_related .blog_post:hover { box-shadow: 0 8px 24px rgba(20, 33, 61, .08); transform: translateY(-2px); }
body.cw-layout .post_related .blog_post_banner {
	aspect-ratio: 16 / 9;
	background: linear-gradient(135deg, #0b1a2e, #1d3b6b);
	margin: 0;
	overflow: hidden;
}
body.cw-layout .post_related .blog_post_banner img { width: 100%; height: 100%; object-fit: cover; }
body.cw-layout .post_related .blog_post_title { padding: 12px 14px 14px; margin: 0; }
body.cw-layout .post_related .blog_post_title .entry-title,
body.cw-layout .post_related .blog_post_title a {
	font-family: var(--cw-font);
	font-size: 15px;
	font-weight: 650;
	line-height: 1.4;
	color: var(--cw-ink);
	margin: 0;
	text-decoration: none;
}
body.cw-layout .post_related .blog_post_title a:hover { color: var(--cw-accent); }

/* comments form */
body.cw-layout #respond {
	border: 1px solid var(--cw-line);
	border-radius: 12px;
	padding: 22px;
	margin: 0 0 32px;
	background: #fff;
}
body.cw-layout #reply-title { font-family: var(--cw-font); font-size: 20px; font-weight: 750; color: var(--cw-ink); margin: 0 0 6px; }
body.cw-layout #respond .comment-notes { font-size: 13px; color: var(--cw-muted); margin: 0 0 14px; }
body.cw-layout #respond textarea,
body.cw-layout #respond input[type="text"],
body.cw-layout #respond input[type="email"],
body.cw-layout #respond input[type="url"] {
	font-family: var(--cw-font);
	font-size: 15px;
	border: 1px solid #d5deeb;
	border-radius: 8px;
	padding: 10px 12px;
	background: #fff;
	box-shadow: none;
}
body.cw-layout #respond textarea:focus,
body.cw-layout #respond input:focus { border-color: var(--cw-accent); outline: 2px solid rgba(47, 111, 237, .15); }
body.cw-layout #respond .form-submit input[type="submit"],
body.cw-layout #respond #submit {
	font-family: var(--cw-font);
	font-size: 15px;
	font-weight: 700;
	color: #fff;
	background: var(--cw-accent);
	border: 0;
	border-radius: 8px;
	height: auto !important;
	min-height: 44px;
	line-height: 1.2 !important;
	padding: 12px 22px !important;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}
body.cw-layout #respond #submit:hover { background: #2459c9; }

/* ---------- legacy content (old articles) ---------- */
/* tables that are not wrapped in .cw-table-scroll: scroll inside, never widen the page */
body.cw-layout .cw-article table:not(.cw-table table) {
	display: block;
	max-width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	border-collapse: collapse;
	font-size: 15px;
}
body.cw-layout .cw-article table:not(.cw-table table) td,
body.cw-layout .cw-article table:not(.cw-table table) th { border: 1px solid var(--cw-line); padding: 8px 10px; }
body.cw-layout .cw-article iframe, body.cw-layout .cw-article video { max-width: 100%; }
body.cw-layout .cw-article img { height: auto !important; }

/* ---------- article rhythm ---------- */
.cw-article img { max-width: 100%; height: auto; }
.cw-article h2 { margin-top: 36px; }
.cw-article h3 { margin-top: 26px; }

/* ---------- mobile ---------- */
body.cw-layout .cw-concl-summary li { font-size: 12.5px; line-height: 1.4; margin: 0; }
body.cw-layout .cw-concl-summary .cw-good  { color: var(--cw-good); }
body.cw-layout .cw-concl-summary .cw-risk  { color: var(--cw-risk); }
body.cw-layout .cw-concl-summary .cw-watch { color: var(--cw-watch); }
body.cw-layout .cw-concl-summary .cw-todo  { color: var(--cw-todo); }
body.cw-layout .cw-concl-cards li, body.cw-layout .cw-chips li { margin: 0; }

/* ================= right sidebar (style of thehackernews.com) ================= */
body.cw-layout .side_content { font-family: var(--cw-font); }
body.cw-layout .side_content .widget_container { margin: 0; padding: 0; border: 0; background: none; }
.cw-side { margin: 0 0 34px; }
body.cw-layout .cw-side-title {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: var(--cw-font);
	font-size: 20px;
	line-height: 1.3;
	font-weight: 900;
	color: #2b384e;
	margin: 0 0 16px;
	padding: 0;
	border: 0;
	text-transform: none;
	letter-spacing: -.01em;
}
.cw-side-icon { font-size: 18px; line-height: 1; }
body.cw-layout .cw-side-list { list-style: none; margin: 0; padding: 0; }
body.cw-layout .cw-side-list li { margin: 0 0 15px; padding: 0; border: 0; }
body.cw-layout .cw-side-list li:last-child { margin-bottom: 0; }
body.cw-layout .cw-side-list a {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	text-decoration: none;
	color: var(--cw-ink);
}
.cw-side-thumb {
	flex: 0 0 72px;
	width: 72px;
	height: 72px;
	border-radius: 4px;
	overflow: hidden;
	background: linear-gradient(135deg, #0b1a2e, #1d3b6b);
}
body.cw-layout .cw-side-thumb img { width: 72px !important; height: 72px !important; max-width: none; object-fit: cover; display: block; transition: transform .25s; }
.cw-side-ph {
	display: flex;
	width: 100%;
	height: 100%;
	align-items: center;
	justify-content: center;
	color: rgba(255, 255, 255, .85);
	font-weight: 800;
	font-size: 26px;
}
body.cw-layout .cw-side-text {
	font-size: 14.5px;
	line-height: 1.45;
	font-weight: 600;
	color: var(--cw-ink);
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	transition: color .15s;
}
body.cw-layout .cw-side-list a:hover .cw-side-text { color: var(--cw-accent); }
body.cw-layout .cw-side-list a:hover .cw-side-thumb img { transform: scale(1.06); }

/* popular: numbered */
.cw-side--popular .cw-side-list { counter-reset: cwpop; }
.cw-side--popular .cw-side-thumb { position: relative; }
.cw-side--popular .cw-side-thumb::after {
	counter-increment: cwpop;
	content: counter(cwpop);
	position: absolute;
	left: 0;
	top: 0;
	min-width: 22px;
	height: 22px;
	padding: 0 6px;
	background: var(--cw-accent);
	color: #fff;
	font-size: 12px;
	font-weight: 800;
	line-height: 22px;
	text-align: center;
	border-radius: 0 0 4px 0;
}

/* partners: compact link list */
.cw-side--partners .cw-side-title { font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--cw-muted); }
body.cw-layout .cw-side--partners p { margin: 0; display: flex; flex-wrap: wrap; gap: 6px; }
body.cw-layout .cw-side--partners a {
	display: inline-block;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.3;
	color: var(--cw-muted);
	background: var(--cw-soft);
	border: 1px solid var(--cw-line);
	border-radius: 6px;
	padding: 5px 9px;
	text-decoration: none;
}
body.cw-layout .cw-side--partners a:hover { color: var(--cw-accent); border-color: var(--cw-accent); }
body.cw-layout .cw-side--partners strong { font-weight: inherit; }
body.cw-layout .cw-side--partners h2 { display: none; }

/* categories */
body.cw-layout .cw-side-cats { list-style: none; margin: 0; padding: 0; }
body.cw-layout .cw-side-cats li { margin: 0; border-bottom: 1px solid var(--cw-line); }
body.cw-layout .cw-side-cats li:last-child { border-bottom: 0; }
body.cw-layout .cw-side-cats a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 9px 0;
	font-size: 15px;
	font-weight: 600;
	color: var(--cw-ink);
	text-decoration: none;
}
body.cw-layout .cw-side-cats a:hover { color: var(--cw-accent); }
.cw-side-count {
	font-size: 12px;
	font-weight: 700;
	color: var(--cw-muted);
	background: var(--cw-soft);
	border-radius: 999px;
	padding: 2px 8px;
}

/* blocks inherit the article font */
.cw-keys, .cw-stats, .cw-concl, .cw-table, .cw-faq, .cw-sources, .cw-note, .cw-warning,
.cw-disclaimer, .cw-source-line, .cw-chips-box, .cw-crumbs, .cw-meta { font-family: var(--cw-font); }
body.cw-layout .cw-keys li { font-size: 16px; }
body.cw-layout .cw-card p, body.cw-layout .cw-faq details p, body.cw-layout .cw-note p, body.cw-layout .cw-warning p { font-size: 15.5px; line-height: 1.6; }
body.cw-layout .cw-table td, body.cw-layout .cw-table th { font-size: 14.5px; line-height: 1.5; }
body.cw-layout .cw-sources li { font-size: 15px; }

@media (max-width: 640px) {
	body.cw-layout .post_related > .row { grid-template-columns: 1fr; }
	body.cw-layout .author_box { flex-direction: column; gap: 12px; padding: 16px; }
	body.cw-layout .post_navigation_item { width: 100%; float: none; margin-bottom: 10px; }
	body.cw-layout #respond { padding: 16px; }
	body.cw-layout #respond .col-md-4 { width: 100%; float: none; margin-bottom: 10px; }
	body.cw-layout .blog_post_title .entry-title { font-size: 26px; }
	body.cw-layout .entry-content, body.cw-layout .entry-content p, body.cw-layout .entry-content li { font-size: 16.5px; }
	body.cw-layout .entry-content h2 { font-size: 22px; }
	body.cw-layout .entry-content h3 { font-size: 18.5px; }
	body.cw-layout .cw-article pre,
	body.cw-layout .cw-article pre.prettyprint,
	body.cw-layout .cw-article pre.prettyprinted { font-size: 13px !important; padding: 12px 14px !important; }
	.cw-concl-cards, .cw-sources { grid-template-columns: 1fr; }
	.cw-keys { padding: 14px 16px; }
	.cw-stat-value { font-size: 24px; }
	.cw-article pre { font-size: 12.5px; padding: 12px; margin-left: -4px; margin-right: -4px; }
	.cw-meta { font-size: 12px; }
}
