/*
Theme Name: Delta Executors
Theme URI: https://wordpress.org/
Author: Delta Executors
Description: Fast, dark accented block theme for Delta Executor guide sites (pt-BR). Every section is a core block, editable in the block editor; app facts and the download link live in one option (dx_app).
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: deltaexecutors
*/

:root {
	--dx-ink: #0b0d12;
	--dx-ink2: #141821;
	--dx-ink-line: #262c39;
	--dx-fog: #c9ced8;
	--dx-fog-muted: #9aa3b2;
	--dx-ember: #ff5a36;
	--dx-ember-strong: #b8321a;
	--dx-ember-soft: #fff1ec;
	--dx-ember-on-dark: #ff8a6e;
	--dx-heading: #0b0d12;
	--dx-body: #363c48;
	--dx-muted: #5a6170;
	--dx-surface: #f3f4f7;
	--dx-line: #e1e4ea;
	--dx-mono: ui-monospace, "SF Mono", "Cascadia Code", "Roboto Mono", Menlo, Consolas, "Liberation Mono", monospace;
	--dx-radius: 14px;
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: clip; }
:where(h2, h3, [id]) { scroll-margin-top: 88px; }
::selection { background: var(--dx-ember); color: var(--dx-ink); }
:where(.wp-site-blocks) :is(a, button, summary, input, [tabindex]):focus-visible { outline: 3px solid var(--dx-ember); outline-offset: 3px; border-radius: 6px; }
.wp-block-image img { height: auto; }
p:empty { display: none; }
.dx-mono, .dx-meta-line { font-family: var(--dx-mono); }
.dx-small { font-size: .85rem; color: var(--dx-muted); }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition: none !important; animation: none !important; }
}

/* ---------- Buttons ---------- */
.wp-block-button__link { transition: background-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease; box-shadow: 0 10px 24px rgba(255, 90, 54, .28); }
.wp-block-button__link:hover { transform: translateY(-1px); box-shadow: 0 12px 28px rgba(11, 13, 18, .25); }
.dx-dl .wp-block-button__link::before { content: ""; display: inline-block; width: 18px; height: 18px; margin-right: .55rem; vertical-align: -3px; background: currentColor; -webkit-mask: var(--dx-m-download) center/contain no-repeat; mask: var(--dx-m-download) center/contain no-repeat; }
.wp-block-button.is-style-outline > .wp-block-button__link { background: transparent; color: var(--dx-ink); border: 2px solid var(--dx-ink); box-shadow: none; padding: calc(.95rem - 2px) calc(1.5rem - 2px); }
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--dx-ink); color: #fff; }
:where(.is-dark, .dx-hero, .dx-header, .dx-footer, .dx-cta) .wp-block-button.is-style-outline > .wp-block-button__link,
.wp-block-button.is-style-ghost-dark > .wp-block-button__link { color: #fff; border: 2px solid rgba(255, 255, 255, .55); background: transparent; box-shadow: none; }
:where(.is-dark, .dx-hero, .dx-header, .dx-footer, .dx-cta) .wp-block-button.is-style-outline > .wp-block-button__link:hover,
.wp-block-button.is-style-ghost-dark > .wp-block-button__link:hover { background: #fff; color: var(--dx-ink); border-color: #fff; }
.wp-block-buttons { gap: .75rem; }

/* ---------- Header ---------- */
.dx-header-wrap { position: sticky; top: 0; z-index: 60; }
.admin-bar .dx-header-wrap { top: 32px; }
@media (max-width: 782px) { .admin-bar .dx-header-wrap { top: 46px; } }
.dx-header { color: #fff; border-bottom: 1px solid var(--dx-ink-line); }
.dx-logo { display: inline-flex; align-items: center; gap: .65rem; text-decoration: none; color: #fff; flex: none; }
.dx-logo-img { width: 40px; height: 40px; border-radius: 10px; display: block; }
.dx-logo-text { font-weight: 850; font-size: 1.12rem; letter-spacing: -.02em; white-space: nowrap; color: #fff; }
.dx-logo-text span { color: var(--dx-ember); }
.dx-logo:hover .dx-logo-text { color: #fff; }
.dx-nav { font-size: .95rem; font-weight: 600; }
.dx-header .dx-nav a { color: var(--dx-fog); text-decoration: none; }
.dx-header .dx-nav a:hover, .dx-header .dx-nav .current-menu-item > a, .dx-header .dx-nav a[aria-current="page"] { color: #fff; }
.dx-header .dx-nav .wp-block-navigation-item__content { padding: .35rem 0; border-bottom: 2px solid transparent; }
.dx-header .dx-nav a[aria-current="page"] { border-bottom-color: var(--dx-ember); }
.dx-nav .wp-block-navigation__submenu-icon { color: var(--dx-fog); }
.dx-nav .wp-block-navigation__submenu-container { background: var(--dx-ink2) !important; border: 1px solid var(--dx-ink-line) !important; border-radius: 12px; padding: .4rem !important; min-width: 210px !important; box-shadow: 0 18px 40px rgba(0, 0, 0, .45); }
.dx-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .55rem .75rem !important; border-radius: 8px; border-bottom: 0 !important; }
.dx-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--dx-ink-line); }
.dx-nav .wp-block-navigation__responsive-container-open, .dx-nav .wp-block-navigation__responsive-container-close { color: #fff; }
.dx-nav .wp-block-navigation__responsive-container-open svg { width: 28px; height: 28px; }
.dx-nav .wp-block-navigation__responsive-container.is-menu-open { padding: 1.25rem 1.5rem 2rem; }
.dx-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 3.5rem; }
.dx-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { font-size: 1.2rem; }
.dx-nav .is-menu-open .wp-block-navigation__responsive-container-content,
.dx-nav .is-menu-open .wp-block-navigation__container,
.dx-nav .is-menu-open .wp-block-navigation__submenu-container { align-items: flex-start !important; text-align: left; }
.dx-nav .is-menu-open .wp-block-navigation__container { gap: 1.1rem !important; width: 100%; }
.dx-nav .is-menu-open .wp-block-navigation-item { align-items: flex-start !important; text-align: left !important; width: 100%; }
.dx-nav .is-menu-open .wp-block-navigation-item > .wp-block-navigation-item__content { align-self: flex-start; text-align: left; }
.dx-nav .is-menu-open .wp-block-navigation-item__content { border-bottom: 0 !important; }
.dx-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item { font-size: 1.05rem !important; }
.dx-nav .is-menu-open .wp-block-navigation__submenu-container { background: transparent !important; border: 0 !important; box-shadow: none; padding: .25rem 0 0 1rem !important; }
.dx-header-cta .wp-block-button__link { padding: .6rem 1rem; font-size: .9rem; box-shadow: none; }
/* Between 600px and 960px the inline menu would crowd the logo: use the overlay menu there too. */
@media (min-width: 600px) and (max-width: 960px) {
	.dx-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.dx-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}
@media (max-width: 420px) { .dx-header-cta { display: none; } .dx-logo-text { font-size: 1.02rem; } }

/* ---------- Bands ---------- */
.dx-band.is-dark, .dx-hero, .dx-page-hero, .dx-cta { color: var(--dx-fog); }
:where(.dx-band.is-dark, .dx-hero, .dx-page-hero, .dx-cta, .dx-footer, .dx-404) :is(h1, h2, h3, h4) { color: #fff; }
:where(.dx-band.is-dark, .dx-hero, .dx-page-hero, .dx-cta, .dx-404) a:not(.wp-block-button__link) { color: var(--dx-ember-on-dark); }
:where(.dx-band.is-dark, .dx-hero, .dx-page-hero, .dx-cta, .dx-404) a:not(.wp-block-button__link):hover { color: #fff; }
.dx-band.is-dark, .dx-hero, .dx-page-hero { background-image: radial-gradient(70% 90% at 100% 0%, rgba(255, 90, 54, .16) 0%, rgba(255, 90, 54, 0) 60%); }
.dx-hero { position: relative; overflow: hidden; }
.dx-hero::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(255, 255, 255, .07) 1px, transparent 1px); background-size: 26px 26px; -webkit-mask-image: linear-gradient(180deg, #000, transparent 85%); mask-image: linear-gradient(180deg, #000, transparent 85%); pointer-events: none; }
.dx-hero > * { position: relative; }

/* ---------- Hero ---------- */
.dx-hero h1 { margin: .9rem 0 0; line-height: 1.08; }
.dx-hero .dx-lead { color: var(--dx-fog); font-size: 1.12rem; max-width: 40rem; }
.dx-badge { display: inline-flex; align-items: center; gap: .55rem; width: fit-content; padding: .38rem .8rem; border-radius: 8px; background: rgba(255, 90, 54, .12); border: 1px solid rgba(255, 90, 54, .4); color: var(--dx-ember-on-dark); font: 700 .8rem/1.2 var(--dx-mono); letter-spacing: .02em; }
.dx-badge::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--dx-ember); box-shadow: 0 0 0 4px rgba(255, 90, 54, .22); }
.dx-hero-btns { margin-top: 1.6rem; }
.dx-hero-btns .wp-block-button__link { font-size: 1.05rem; padding: 1rem 1.6rem; }
.dx-trust { list-style: none; padding: 0; margin: 1.4rem 0 0; display: flex; flex-wrap: wrap; gap: .5rem 1.2rem; font-size: .92rem; color: var(--dx-fog); }
.dx-trust li { display: flex; align-items: center; gap: .4rem; }
.dx-trust li::before, .dx-check li::before { content: ""; flex: none; width: 18px; height: 18px; background: var(--dx-ember); -webkit-mask: var(--dx-m-check) center/contain no-repeat; mask: var(--dx-m-check) center/contain no-repeat; }

/* Console card: the app facts table styled as a terminal window. */
.dx-console { background: var(--dx-ink2); border: 1px solid var(--dx-ink-line); border-radius: 16px; overflow: hidden; box-shadow: 0 30px 60px rgba(0, 0, 0, .45), 0 0 0 1px rgba(255, 90, 54, .06); }
.dx-console > * { margin: 0 !important; }
.dx-console-bar { position: relative; padding: .7rem 1rem .7rem 4.4rem; border-bottom: 1px solid var(--dx-ink-line); font: 600 .78rem/1.2 var(--dx-mono); color: var(--dx-fog-muted); background: #10131a; }
.dx-console-bar::before { content: ""; position: absolute; left: 1rem; top: 50%; width: 46px; height: 12px; transform: translateY(-50%); background: radial-gradient(circle at 6px 6px, #ff5f57 5px, transparent 5.5px), radial-gradient(circle at 23px 6px, #febc2e 5px, transparent 5.5px), radial-gradient(circle at 40px 6px, #28c840 5px, transparent 5.5px); }
.dx-console .wp-block-table table, .dx-console-table table { border: 0 !important; border-radius: 0 !important; background: transparent; }
.dx-console-table td { border-bottom: 1px solid var(--dx-ink-line) !important; background: transparent !important; padding: .72rem 1.1rem !important; font-size: .93rem; }
.dx-console-table tr:last-child td { border-bottom: 0 !important; }
.dx-console-table td:first-child { color: var(--dx-fog-muted) !important; font-weight: 500 !important; font-family: var(--dx-mono); font-size: .84rem; width: 40%; }
.dx-console-table td:last-child { color: #fff; font-weight: 700; }
.dx-code { padding: 1.1rem 1.2rem; font: 500 .95rem/2 var(--dx-mono); color: var(--dx-fog); counter-reset: none; }
.dx-console-small { max-width: 420px; margin-left: auto !important; }

/* ---------- Section heads ---------- */
.dx-eyebrow { font: 700 .8rem/1.2 var(--dx-mono) !important; color: var(--dx-ember-strong); letter-spacing: .04em; margin-bottom: .2rem !important; text-transform: lowercase; }
:where(.is-dark, .dx-hero, .dx-cta) .dx-eyebrow { color: var(--dx-ember-on-dark); }
.dx-section-head { max-width: 760px; }
.dx-section-head.is-center { margin-left: auto !important; margin-right: auto !important; text-align: center; }
.dx-section-head h2 { margin-top: .35rem; }
.dx-lead { font-size: 1.1rem; color: var(--dx-muted); }
:where(.is-dark, .dx-page-hero) .dx-lead { color: var(--dx-fog); }
.dx-band > .wp-block-columns { gap: clamp(1.5rem, 4vw, 3.5rem); }

/* ---------- Table of contents ---------- */
.dx-toc { background: var(--dx-surface); border: 1px solid var(--dx-line); border-radius: var(--dx-radius); padding: 1.2rem 1.4rem !important; }
.dx-toc-title { margin: 0 !important; font-size: .95rem; }
.dx-toc ol { margin: .6rem 0 0; padding-left: 0; list-style: none; counter-reset: toc; columns: 2; column-gap: 2rem; }
.dx-toc li { counter-increment: toc; break-inside: avoid; margin: .25rem 0; display: flex; gap: .55rem; }
.dx-toc li::before { content: counter(toc, decimal-leading-zero); font: 700 .78rem/1.9 var(--dx-mono); color: var(--dx-ember-strong); }
.dx-toc a { text-decoration: none; color: var(--dx-heading); font-weight: 550; }
.dx-toc a:hover { color: var(--dx-ember-strong); text-decoration: underline; }
.dx-toc-home ol { columns: 3; }
@media (max-width: 900px) { .dx-toc-home ol { columns: 2; } }
@media (max-width: 600px) { .dx-toc ol, .dx-toc-home ol { columns: 1; } }

/* ---------- Cards and grids ---------- */
.dx-grid { display: grid !important; gap: 1.1rem !important; }
.dx-grid > * { margin: 0 !important; }
.dx-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dx-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dx-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1000px) { .dx-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 900px) { .dx-grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .dx-grid-2, .dx-grid-3, .dx-grid-4 { grid-template-columns: 1fr; } }

.dx-card, .is-style-dx-card { position: relative; background: #fff; border: 1px solid var(--dx-line); border-radius: var(--dx-radius); padding: 1.4rem; height: 100%; transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.dx-card:hover { border-color: rgba(184, 50, 26, .45); box-shadow: 0 1px 2px rgba(11, 13, 18, .06), 0 12px 30px rgba(11, 13, 18, .08); }
.dx-card > :first-child { margin-top: 0; }
.dx-card h3 { font-size: 1.08rem; margin: .85rem 0 .35rem; }
.dx-card p { margin: 0; font-size: .97rem; color: #474e5c; }
.dx-card:not(.dx-icon) h3 { margin-top: 0; }
.is-dark .dx-card { background: var(--dx-ink2); border-color: var(--dx-ink-line); }
.is-dark .dx-card p { color: var(--dx-fog); }
.dx-icon::before { content: ""; display: block; width: 44px; height: 44px; border-radius: 10px; background: var(--dx-ember-soft) var(--dx-i) center/22px no-repeat; border: 1px solid rgba(184, 50, 26, .18); }
.dx-feature-grid .dx-card { border-top: 3px solid transparent; }
.dx-feature-grid .dx-card:hover { border-top-color: var(--dx-ember); }

/* Link cards: the title link covers the whole card. */
.dx-linkcard h3 a { color: var(--dx-heading); text-decoration: none; }
.dx-linkcard h3 a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.dx-linkcard h3::after { content: " \2192"; color: var(--dx-ember-strong); transition: margin .2s ease; }
.dx-linkcard:hover h3 a { color: var(--dx-ember-strong); }
.dx-linkcard:focus-within { outline: 3px solid var(--dx-ember); outline-offset: 2px; }
.dx-linkcard h3 a:focus-visible { outline: 0; }

/* ---------- Steps ---------- */
.dx-steps { counter-reset: dxstep; display: grid !important; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1rem !important; }
.dx-steps > * { margin: 0 !important; }
.dx-step { counter-increment: dxstep; position: relative; background: #fff; border: 1px solid var(--dx-line); border-radius: var(--dx-radius); padding: 1.25rem 1.3rem 1.3rem 1.3rem; }
.dx-step::before { content: counter(dxstep, decimal-leading-zero); display: inline-block; font: 800 .82rem/1 var(--dx-mono); color: var(--dx-ink); background: var(--dx-ember); padding: .4rem .5rem; border-radius: 6px; margin-bottom: .75rem; }
.dx-step h3 { font-size: 1.05rem; margin: 0 0 .3rem; }
.dx-step p { margin: 0; font-size: .96rem; color: #474e5c; }
.dx-band:not(.is-dark):not(.has-surface-background-color) .dx-step { background: var(--dx-surface); border-color: transparent; }
.dx-prose .dx-steps { grid-template-columns: 1fr; }
.dx-prose .dx-step { padding-left: 4.2rem; }
.dx-prose .dx-step::before { position: absolute; left: 1.2rem; top: 1.25rem; margin: 0; }

/* ---------- Lists ---------- */
.dx-check, .dx-cross { list-style: none; padding-left: 0; }
.dx-check li, .dx-cross li { display: flex; gap: .6rem; align-items: flex-start; margin: .5rem 0; }
.dx-check li::before { margin-top: .32rem; }
.dx-cross li::before { content: ""; flex: none; width: 18px; height: 18px; margin-top: .32rem; background: var(--dx-muted); -webkit-mask: var(--dx-m-x) center/contain no-repeat; mask: var(--dx-m-x) center/contain no-repeat; }
.is-dark .dx-check li::before { background: var(--dx-ember); }
.dx-chips { list-style: none; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; max-width: 980px; margin-left: auto !important; margin-right: auto !important; }
.dx-chips li { padding: .5rem .95rem; border: 1px solid var(--dx-line); border-radius: 8px; background: #fff; font-weight: 600; font-size: .95rem; color: var(--dx-heading); }
.dx-chips li::before { content: "> "; font-family: var(--dx-mono); color: var(--dx-ember-strong); }
.dx-pros { border-top: 3px solid var(--dx-ember) !important; }
.dx-cons { border-top: 3px solid var(--dx-muted) !important; }

/* ---------- Notes ---------- */
.dx-note { position: relative; border-radius: 12px; padding: 1rem 1.2rem 1rem 3.2rem !important; background: var(--dx-ember-soft); border: 1px solid rgba(184, 50, 26, .22); color: #4a1a0e; }
.dx-note::before { content: ""; position: absolute; left: 1.1rem; top: 1.15rem; width: 20px; height: 20px; background: var(--dx-ember-strong); -webkit-mask: var(--dx-m-info) center/contain no-repeat; mask: var(--dx-m-info) center/contain no-repeat; }
.dx-note.is-warn { background: #fff7e6; border-color: #f0c36d; color: #4d3200; }
.dx-note.is-warn::before { background: #8a5300; -webkit-mask-image: var(--dx-m-alert); mask-image: var(--dx-m-alert); }
.dx-note p { margin: 0; }
.dx-note a { color: inherit; font-weight: 700; }

/* ---------- Tables ---------- */
.wp-block-table { overflow-x: auto; }
.wp-block-table table { border-collapse: separate; border-spacing: 0; width: 100%; border: 1px solid var(--dx-line); border-radius: 12px; overflow: hidden; background: #fff; }
.wp-block-table th, .wp-block-table td { border: 0; border-bottom: 1px solid var(--dx-line); padding: .75rem 1rem; text-align: left; vertical-align: top; }
.wp-block-table tbody tr:last-child td { border-bottom: 0; }
.wp-block-table thead { border: 0; }
.wp-block-table thead th { background: var(--dx-ink); color: #fff; font-weight: 700; font-size: .9rem; }
.dx-spec td:first-child { font-weight: 650; color: var(--dx-heading); width: 42%; }
.dx-compare table { min-width: 640px; table-layout: auto !important; }
.dx-compare tbody tr:first-child td { background: var(--dx-ember-soft); }
.dx-risk td:last-child { font-family: var(--dx-mono); font-weight: 700; font-size: .88rem; }
.dx-risk-title { font-weight: 750; color: var(--dx-heading); margin: 0 0 .5rem !important; }

/* ---------- FAQ ---------- */
.dx-faq { max-width: 820px; margin-left: auto !important; margin-right: auto !important; }
.wp-block-details { background: #fff; transition: border-color .2s ease; }
.wp-block-details + .wp-block-details { margin-top: .65rem; }
.wp-block-details[open] { border-color: rgba(184, 50, 26, .45) !important; }
.wp-block-details summary { cursor: pointer; list-style: none; font-weight: 700; font-size: 1.03rem; line-height: 1.45; color: var(--dx-heading); display: flex; justify-content: space-between; gap: 1rem; align-items: center; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: ""; flex: none; width: 26px; height: 26px; border-radius: 7px; background: var(--dx-ink) var(--dx-i-plus) center/12px no-repeat; transition: transform .2s ease; }
.wp-block-details[open] summary::after { transform: rotate(45deg); }
.wp-block-details > :not(summary) { margin-top: .7rem; margin-bottom: 0; }

/* ---------- Download box (inner pages) ---------- */
.dx-dlbox { background: var(--dx-ink); color: var(--dx-fog); border-radius: 16px; padding: 1.3rem 1.4rem !important; background-image: radial-gradient(80% 120% at 100% 0%, rgba(255, 90, 54, .2), rgba(255, 90, 54, 0) 60%); }
.dx-dlbox h3 { color: #fff; margin: 0 0 .2rem; font-size: 1.15rem; }
.dx-dlbox .dx-meta-line { font-size: .84rem; color: var(--dx-fog-muted); margin: 0 0 .8rem; }
.dx-dlbox p { color: var(--dx-fog); }
.dx-dlbox .wp-block-columns { margin: 0; gap: 1.1rem; flex-wrap: nowrap !important; }
.dx-dlbox .wp-block-column:first-child { flex: 0 0 72px !important; }
.dx-app-icon img { width: 72px; height: 72px; border-radius: 16px !important; }
@media (max-width: 480px) { .dx-dlbox .wp-block-columns { flex-wrap: wrap !important; } }

/* ---------- CTA ---------- */
.dx-cta { position: relative; overflow: hidden; border-radius: 20px; background: var(--dx-ink); background-image: radial-gradient(60% 120% at 0% 100%, rgba(255, 90, 54, .28), rgba(255, 90, 54, 0) 60%), radial-gradient(50% 90% at 100% 0%, rgba(255, 138, 61, .18), rgba(255, 138, 61, 0) 60%); padding-left: clamp(1.25rem, 4vw, 3rem) !important; padding-right: clamp(1.25rem, 4vw, 3rem) !important; }
.dx-cta .dx-lead { color: var(--dx-fog); font-family: var(--dx-mono); font-size: .92rem; }

/* ---------- Page hero (inner pages, posts, blog) ---------- */
.dx-page-hero h1 { margin: .55rem 0 0; }
.dx-breadcrumbs { font-size: .86rem; color: var(--dx-fog-muted); font-family: var(--dx-mono); }
.dx-breadcrumbs a { color: var(--dx-fog) !important; text-decoration: none; }
.dx-breadcrumbs a:hover { color: #fff !important; text-decoration: underline; }
.dx-hero-meta, .dx-meta-row { font-family: var(--dx-mono); font-size: .84rem; color: var(--dx-fog-muted); }
.dx-hero-meta { margin-top: .6rem !important; }
.dx-meta-row { gap: .3rem 1.2rem !important; margin-top: .8rem !important; }
.dx-meta-row > * { margin: 0 !important; }
.dx-post-cover { margin-top: calc(-1 * var(--wp--preset--spacing--70) + 1.5rem) !important; position: relative; z-index: 1; }
.dx-post-cover img { box-shadow: 0 24px 50px rgba(11, 13, 18, .25); }

/* ---------- Prose (inner pages and posts) ---------- */
.dx-prose > h2 { margin-top: 2.6rem; padding-top: .2rem; }
.dx-prose > h2::before { content: ""; display: block; width: 36px; height: 3px; background: var(--dx-ember); border-radius: 2px; margin-bottom: .8rem; }
.dx-prose > h3 { margin-top: 1.8rem; }
.dx-prose li { margin: .3rem 0; }
.dx-prose .wp-block-image { margin-top: 1.6rem; margin-bottom: 1.6rem; }
.dx-prose > .dx-grid { max-width: var(--wp--style--global--content-size); }
.dx-takeaways { border-left: 3px solid var(--dx-ember); background: var(--dx-surface); border-radius: 0 12px 12px 0; padding: 1rem 1.25rem !important; }
.dx-takeaways-title, .dx-related-title { margin: 0 !important; }
.dx-related { border: 1px solid var(--dx-line); border-radius: 12px; padding: 1rem 1.25rem !important; }
.dx-related-list { margin: .5rem 0 0; padding-left: 1.1rem; }
.dx-related-list li::marker { color: var(--dx-ember-strong); }

/* ---------- Author box and post nav ---------- */
.dx-author { margin-top: 2.5rem !important; padding: 1.25rem; border: 1px solid var(--dx-line); border-radius: 14px; gap: 1rem !important; }
.dx-author-icon { border-radius: 12px; display: block; }
.dx-author p { margin: 0; font-size: .95rem; }
.dx-author-name { font-weight: 750; color: var(--dx-heading); }
.dx-post-nav { margin-top: 1.5rem !important; gap: 1rem !important; }
.dx-post-nav a { text-decoration: none; font-weight: 650; }

/* ---------- Post cards ---------- */
.dx-post-grid .wp-block-post { background: #fff; border: 1px solid var(--dx-line); border-radius: var(--dx-radius); overflow: hidden; display: flex; flex-direction: column; transition: border-color .2s ease, box-shadow .2s ease; }
.dx-post-grid .wp-block-post:hover { border-color: rgba(184, 50, 26, .45); box-shadow: 0 12px 30px rgba(11, 13, 18, .08); }
.dx-post-grid .wp-block-post-featured-image { margin: 0; }
.dx-post-grid .wp-block-post-featured-image img { border-radius: 0 !important; aspect-ratio: 16/9; object-fit: cover; }
.dx-post-body { padding: 1rem 1.2rem 1.3rem; }
.dx-post-grid .wp-block-post-title { font-size: 1.12rem; line-height: 1.35; margin: .35rem 0 .45rem; letter-spacing: -.01em; }
.dx-post-grid .wp-block-post-title a { text-decoration: none; color: var(--dx-heading); }
.dx-post-grid .wp-block-post-title a:hover { color: var(--dx-ember-strong); }
.dx-post-grid .wp-block-post-date { font: 600 .78rem/1.2 var(--dx-mono); color: var(--dx-muted); }
.dx-post-grid .wp-block-post-excerpt__excerpt { font-size: .94rem; color: #474e5c; margin: 0; }
.dx-post-grid .wp-block-post-excerpt__more-text { display: none; }
@media (max-width: 900px) { .dx-post-grid .wp-block-post-template.is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .dx-post-grid .wp-block-post-template.is-layout-grid { grid-template-columns: 1fr; } }
.wp-block-query-pagination { margin-top: 2rem; gap: .5rem; }
.wp-block-query-pagination a, .wp-block-query-pagination .page-numbers { padding: .4rem .8rem; border-radius: 8px; border: 1px solid var(--dx-line); text-decoration: none; }
.wp-block-query-pagination .current { background: var(--dx-ink); color: #fff; border-color: var(--dx-ink); }

/* ---------- Footer ---------- */
.dx-footer { color: var(--dx-fog-muted); border-top: 1px solid var(--dx-ink-line); }
.dx-footer-about { font-size: .95rem; color: var(--dx-fog); margin-top: 1rem !important; }
.dx-footer-title { font-size: .8rem !important; font-family: var(--dx-mono); text-transform: uppercase; letter-spacing: .1em; color: #fff; margin-bottom: .8rem !important; }
.dx-footer-links { list-style: none; padding: 0; margin: 0; }
.dx-footer-links li { margin: .45rem 0; }
.dx-footer a:not(.wp-block-button__link) { color: var(--dx-fog); text-decoration: none; }
.dx-footer a:not(.wp-block-button__link):hover { color: var(--dx-ember-on-dark); text-decoration: underline; }
.dx-footer .wp-block-button__link { font-size: .92rem; padding: .75rem 1.1rem; }
.dx-disclaimer { font-size: .84rem; color: var(--dx-fog-muted); border: 1px solid var(--dx-ink-line); border-radius: 12px; padding: .9rem 1.1rem; }
.dx-footer-bottom { border-top: 1px solid var(--dx-ink-line); font-size: .85rem; }
.dx-footer-bottom p { margin: 0; }

/* ---------- 404 and search ---------- */
.dx-404 { color: var(--dx-fog); }
.dx-404-code { font: 800 clamp(4.5rem, 16vw, 8rem)/1 var(--dx-mono) !important; color: var(--dx-ember) !important; margin: 0 !important; letter-spacing: -.04em; }
.wp-block-search__input { border: 1px solid #c6cbd4; border-radius: 10px; padding: .7rem 1rem; font-size: 1rem; }
.wp-block-search__button { border-radius: 10px; margin-left: .5rem; box-shadow: none; }
.dx-404 .wp-block-search { max-width: 460px; margin: 1.5rem auto; }

/* ---------- Icons (generated by content/make_icons.py) ---------- */
/* ICONS:START */
:root {
	--dx-m-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8 12 3 3 5-6'/%3E%3C/svg%3E");
	--dx-m-x: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m9 9 6 6M15 9l-6 6'/%3E%3C/svg%3E");
	--dx-m-info: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v5'/%3E%3Cpath d='M12 8h.01'/%3E%3C/svg%3E");
	--dx-m-alert: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 2 20h20z'/%3E%3Cpath d='M12 10v4'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E");
	--dx-m-download: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12'/%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3Cpath d='M5 21h14'/%3E%3C/svg%3E");
	--dx-i-plus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
}
.dx-i-download { --dx-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8321a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12'/%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3Cpath d='M5 21h14'/%3E%3C/svg%3E"); }
.dx-i-shield { --dx-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8321a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 4 6v6c0 5 3.4 8 8 9 4.6-1 8-4 8-9V6z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E"); }
.dx-i-bolt { --dx-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8321a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 2 4 14h7l-1 8 9-12h-7z'/%3E%3C/svg%3E"); }
.dx-i-code { --dx-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8321a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m8 7-5 5 5 5'/%3E%3Cpath d='m16 7 5 5-5 5'/%3E%3Cpath d='m14 4-4 16'/%3E%3C/svg%3E"); }
.dx-i-key { --dx-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8321a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='7.5' cy='15.5' r='4.5'/%3E%3Cpath d='M10.7 12.3 21 2'/%3E%3Cpath d='m16 7 3 3'/%3E%3Cpath d='m14 9 2 2'/%3E%3C/svg%3E"); }
.dx-i-chat { --dx-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8321a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a8 8 0 0 1-12 7l-5 1 1-4.5A8 8 0 1 1 21 12z'/%3E%3C/svg%3E"); }
.dx-i-phone { --dx-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8321a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='6' y='2' width='12' height='20' rx='3'/%3E%3Cpath d='M11 18h2'/%3E%3C/svg%3E"); }
.dx-i-desktop { --dx-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8321a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='13' rx='2'/%3E%3Cpath d='M8 21h8'/%3E%3Cpath d='M12 17v4'/%3E%3C/svg%3E"); }
.dx-i-apple { --dx-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8321a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15.5 3c0 1.9-1.4 3.4-3.2 3.5 0-1.9 1.4-3.4 3.2-3.5z'/%3E%3Cpath d='M12 8.2c-1-.6-2.1-1-3.2-1C6 7.2 4 9.6 4 13c0 4 2.6 8 5 8 1.1 0 1.8-.6 3-.6s1.9.6 3 .6c2.4 0 5-4 5-8 0-3.4-2-5.8-4.8-5.8-1.1 0-2.2.4-3.2 1z'/%3E%3C/svg%3E"); }
.dx-i-refresh { --dx-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8321a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a9 9 0 1 1-2.6-6.4'/%3E%3Cpath d='M21 3v6h-6'/%3E%3C/svg%3E"); }
.dx-i-check { --dx-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8321a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8 12 3 3 5-6'/%3E%3C/svg%3E"); }
.dx-i-alert { --dx-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8321a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 2 20h20z'/%3E%3Cpath d='M12 10v4'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E"); }
.dx-i-star { --dx-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8321a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3 2.8 5.7 6.2.9-4.5 4.4 1 6.2-5.5-2.9-5.5 2.9 1-6.2L3 9.6l6.2-.9z'/%3E%3C/svg%3E"); }
.dx-i-users { --dx-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8321a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='4'/%3E%3Cpath d='M2 21c0-4 3-6 7-6s7 2 7 6'/%3E%3Cpath d='M16 4a4 4 0 0 1 0 8'/%3E%3Cpath d='M18 15c2.5.5 4 2.5 4 6'/%3E%3C/svg%3E"); }
.dx-i-gamepad { --dx-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8321a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='7' width='20' height='11' rx='5'/%3E%3Cpath d='M7 11v3'/%3E%3Cpath d='M5.5 12.5h3'/%3E%3Cpath d='M16 12h.01'/%3E%3Cpath d='M18 14h.01'/%3E%3C/svg%3E"); }
.dx-i-lock { --dx-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8321a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E"); }
.dx-i-layers { --dx-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8321a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3 9 5-9 5-9-5z'/%3E%3Cpath d='m3 13 9 5 9-5'/%3E%3C/svg%3E"); }
.dx-i-terminal { --dx-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8321a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m6 9 3 3-3 3'/%3E%3Cpath d='M12 15h6'/%3E%3C/svg%3E"); }
.dx-i-cpu { --dx-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8321a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='6' y='6' width='12' height='12' rx='2'/%3E%3Cpath d='M9 2v4M15 2v4M9 18v4M15 18v4M2 9h4M2 15h4M18 9h4M18 15h4'/%3E%3C/svg%3E"); }
.dx-i-clock { --dx-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8321a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E"); }
.dx-i-gift { --dx-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8321a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='8' width='18' height='5' rx='1'/%3E%3Cpath d='M5 13v8h14v-8'/%3E%3Cpath d='M12 8v13'/%3E%3Cpath d='M12 8C10 8 8 7 8 5.5S10.5 3 12 8c1.5-5 4-4 4-2.5S14 8 12 8z'/%3E%3C/svg%3E"); }
.dx-i-book { --dx-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8321a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5a2 2 0 0 1 2-2h14v15H6a2 2 0 0 0-2 2z'/%3E%3Cpath d='M4 20a2 2 0 0 0 2 2h14v-4'/%3E%3C/svg%3E"); }
.dx-i-search { --dx-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8321a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-4-4'/%3E%3C/svg%3E"); }
.dx-i-wrench { --dx-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8321a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 4a5 5 0 0 0-4.6 7L3 18.4 5.6 21l7.4-7.4A5 5 0 0 0 20 9l-3 3-3-1-1-3z'/%3E%3C/svg%3E"); }
.dx-i-fish { --dx-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8321a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12c3-4 7-6 11-6 3 0 6 2 7 6-1 4-4 6-7 6-4 0-8-2-11-6z'/%3E%3Cpath d='M3 12 1 8M3 12l-2 4'/%3E%3Cpath d='M16 11h.01'/%3E%3C/svg%3E"); }
.dx-i-sprout { --dx-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8321a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21v-9'/%3E%3Cpath d='M12 12C12 8 9 5 4 5c0 4 3 7 8 7z'/%3E%3Cpath d='M12 14c0-3 2.5-6 7-6 0 3.5-2.5 6-7 6z'/%3E%3C/svg%3E"); }
.dx-i-sword { --dx-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8321a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 4v5L9 20l-5-5L15 4z'/%3E%3Cpath d='m7 17-4 4'/%3E%3C/svg%3E"); }
.dx-i-globe { --dx-i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8321a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18'/%3E%3Cpath d='M12 3c3 3 3 15 0 18M12 3c-3 3-3 15 0 18'/%3E%3C/svg%3E"); }
/* ICONS:END */
