@font-face {
  font-family: "Okta Neue Bold";
  src:
    url("../font/OktaNeue-Bold.woff2") format("woff2"),
    url("../font/OktaNeue-Bold.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Okta Neue SemiBold Italic";
  src:
    url("../font/OktaNeue-SemiBoldItalic.woff2") format("woff2"),
    url("../font/OktaNeue-SemiBoldItalic.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
/* //////////////////////////////////////////////////////////////////////////

   Codephoria 3.5.3

   //////////////////////////////////////////////////////////////////////////
    
   I. Customize
   |
   ├─ Global settings
   ├─ Fonts
   ├─ Color of details
   ├─ Light version
   ├─ Dark version
   ├─ Color version
   ├─ Logo for dark version
   ├─ Hiding 'Portal' notifications
   └─ Ghost 'Custom fonts' adjustment

   II. 3rd party scripts
   |
   ├─ Normalize.css
   └─ lightense-images.js, progress bar

   III. Theme
   |
   ├─ 1.Global
   ├─ 2.Header
   ├─ 3.Pinned
   ├─ 4.Loop
   ├─ 5.Pagination & Load more
   ├─ 6.Search function
   ├─ 7.Post — Header
   ├─ 8.Post — Content
   ├─ 9.Post — Share
   ├─ 10.Post — Navigation
   ├─ 11.Post — Comments
   ├─ 12.Author & Tag page
   ├─ 13.Subscribe form
   ├─ 14.Footer
   ├─ 15.Custom — Pages
   ├─ 16.Custom — Error page
   ├─ 17.Custom — Tags & Authors page
   ├─ 18.Custom — Membership page
   ├─ 19.Custom — Account page
   └─ 20.Colors
   
   //////////////////////////////////////////////////////////////////////////

   I. Customize

   ////////////////////////////////////////////////////////////////////////// */

:root {
  /* Global settings */
  --height-logo-header: 60px;
  --height-logo-footer: 50px;
  --height-logo-mobile-header: 40px;
  --height-logo-mobile-footer: 40px;

  --max-width-global-wrap: 1400px;
  --max-width-post-wrap: 860px;

  /* Border: SOLID lines for strategy */
  --border: 1px solid;

  /* Fonts - The Strategic Stack */
  --font-family-one: "Space Grotesk", sans-serif;
  --font-weight-one-bold: 700;
  --font-family-two: "IBM Plex Sans", sans-serif;
  --font-weight-two-medium: 500;
  --font-weight-two-semi-bold: 600;
  --font-weight-two-bold: 700;
  --font-family-three: "IBM Plex Sans", sans-serif;
  --font-weight-three-regular: 400;
  --font-family-four: "JetBrains Mono", monospace;
  --font-weight-four-medium: 500;

  /* Accent: Strategic Orange */
  --ghost-accent-color: #ff4400;

  /* Standard Transitions */
  --ease-out: cubic-bezier(0.2, 0, 0, 1);
  --ease-spring: cubic-bezier(0.2, 0.8, 0.2, 1);
  --ease-smooth: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-slide: cubic-bezier(0.16, 1, 0.3, 1);

  /* Light Version (High Contrast Swiss Style) */
  --color-font-one: #050505;
  --color-font-two: #333333;
  --color-one: #e5e5e5;
  --color-two: #000000;
  --color-three: #000000;
  --color-four: #ffffff;

  /* BACKGROUND COLOR (Paper White) */
  --color-body: #f4f4f4;

  --color-dots: #000000;
  --color-search-close: #000;
  --color-notification: #000;
  --color-notification-false: #ff0000;

  /* Opacity & Shadows */
  --bg-color-all: rgba(0, 0, 0, 0.05);
  --bg-color-hero: rgba(0, 0, 0, 0.02);
  --bg-color-small-image: rgba(0, 0, 0, 0.05);
  --bg-search: rgba(255, 255, 255, 0.95);
  --bg-nav: rgba(255, 255, 255, 0.9);

  --opacity-bg-color: 1;
  --opacity-bg-dots: 0.15;
  --box-shadow: none;
  --box-shadow-nav: 0 1px 0 0 rgba(0, 0, 0, 0.1);

  /* === Spacing Scale (8px grid) === */
  --space-1: 4px; /* Micro: inline gaps, icon margins */
  --space-2: 8px; /* XS: tight element spacing */
  --space-3: 12px; /* SM: label gaps, meta spacing */
  --space-4: 16px; /* MD: standard inner padding */
  --space-5: 24px; /* LG: content block gaps */
  --space-6: 32px; /* XL: section inner padding */
  --space-7: 48px; /* 2XL: section separation */
  --space-8: 64px; /* 3XL: major section gaps */
  --space-9: 96px; /* 4XL: page-level vertical rhythm */
  --space-10: 128px; /* 5XL: hero/header breathing room */

  /* Section spacing (responsive) */
  --section-gap: clamp(64px, 8vh, 128px);
  --section-gap-sm: clamp(40px, 5vh, 80px);
  --content-gap: clamp(48px, 6vh, 96px);
}

html {
  background-color: #f4f4f4 !important;
}

/* Dark version
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.dark-mode {
  /* Fonts */
  --color-font-one: #ffffff;
  --color-font-two: #e0e0e0;

  /* Background & Elements */
  --color-one: #1a1a1a;
  --color-two: #ffffff;
  --color-three: #333333; /* Dark Grey borders */
  --color-four: #111111;
  --color-body: #050505; /* Almost true black */
  --color-dots: #ffffff;
  --color-search-close: #fff;
  --color-notification: #00ff41; /* Terminal Green for notifications */
  --color-notification-false: #ff3b30;

  /* Background, opacity and shadow */
  --bg-color-all: #111111;
  --bg-color-hero: #000000;
  --bg-color-small-image: #111111;
  --bg-search: rgba(0, 0, 0, 0.95);
  --bg-nav: rgba(5, 5, 5, 0.9);
  --opacity-bg-color: 1;
  --opacity-bg-dots: 0.1;
  --box-shadow: none;
}

/* Retro version - Pixel Art Soul, High-end Body
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.retro-mode {
  /* Typography */
  --font-family-two: "IBM Plex Mono", monospace;  /* Body: switch IBM Plex Sans → Mono */
  --font-family-three: "IBM Plex Mono", monospace;

  /* 6-Color System */
  --color-font-one: #e2e8f0;      /* Ice White text */
  --color-font-two: #94a3b8;      /* Muted text */
  --color-one: #0f3460;           /* Electric blue borders/lines */
  --color-two: #e2e8f0;           
  --color-three: #0f3460;         /* Secondary borders */
  --color-four: #16213e;          /* Surface */
  --color-body: #1a1a2e;          /* Deep Indigo Background */
  --color-dots: #ff2a6d;          /* Hot Magenta */

  --bg-color-all: #16213e;
  --bg-color-hero: #16213e;
  --bg-color-small-image: #16213e;
  --bg-search: #1a1a2e;
  --bg-nav: #1a1a2e;
  --opacity-bg-color: 1;
  --opacity-bg-dots: 0.25;
  --box-shadow: none;

  /* Pixel Hard Shadow System */
  --retro-shadow-sm: 3px 3px 0 #0f3460;
  --retro-shadow-md: 5px 5px 0 #0f3460;
  --retro-shadow-accent: 3px 3px 0 #ff2a6d;

  /* Accents */
  --ghost-accent-color: #ff2a6d;
  --color-notification: #00d2ff;  /* Cyan */
  --color-notification-false: #ff2a6d;
  --color-search-close: #e2e8f0;
}

/* Automatic dark version [duplicate dark version]
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (prefers-color-scheme: dark) {
  .auto-dark-mode {
    /* Fonts */
    --color-font-one: #f7f9f9;
    --color-font-two: #182029;

    /* Background & Elements */
    --color-one: #242d39;
    --color-two: #f7f9f9;
    --color-three: #485b73;
    --color-four: #242d39;
    --color-body: #182029;
    --color-dots: #485b73;
    --color-search-close: #f7f9f9;
    --color-notification: #aaef52;
    --color-notification-false: #f74856;

    /* Background, opacity and shadow */
    --bg-color-all: #293340;
    --bg-color-hero: #1e2732;
    --bg-color-small-image: #293340;
    --bg-search: rgba(0, 0, 0, 0.6);
    --bg-nav: #242d39;
    --opacity-bg-color: 0.95;
    --opacity-bg-dots: 1;
    --box-shadow: transparent;
    --box-shadow-nav: transparent;
  }
}

/* Color version
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.global-hash-site-pearl,
body.tag-hash-post-bg-pearl,
.global-hash-site-parchment,
body.tag-hash-post-bg-parchment,
.global-hash-site-celeste,
body.tag-hash-post-bg-celeste,
.global-hash-site-arctic,
body.tag-hash-post-bg-arctic,
.global-hash-site-lilac,
body.tag-hash-post-bg-lilac,
.global-hash-site-pink,
body.tag-hash-post-bg-pink,
.global-hash-site-sand,
body.tag-hash-post-bg-sand,
.global-hash-site-canary,
body.tag-hash-post-bg-canary,
.global-hash-site-avocado,
body.tag-hash-post-bg-avocado,
.global-hash-site-jade,
body.tag-hash-post-bg-jade,
.global-hash-site-custom-light-color {
  /* Fonts */
  --color-font-one: #141c3a;
  --color-font-two: #141c3a;

  /* Background & Elements */
  --color-one: rgba(0, 0, 0, 0.1);
  --color-two: #141c3a;
  --color-three: rgba(0, 0, 0, 0.8);
  --color-four: rgba(0, 0, 0, 0.08);
  --color-body: var(--color-site-light);
  --color-dots: #141c3a;
  --color-search-close: #fff;
  --color-notification: #fff;
  --color-notification-false: #f74856;

  /* Background, opacity and shadow */
  --bg-color-all: rgba(0, 0, 0, 0.05);
  --bg-color-hero: rgba(0, 0, 0, 0.03);
  --bg-color-small-image: rgba(0, 0, 0, 0.08);
  --bg-search: rgba(0, 0, 0, 0.6);
  --bg-nav: rgba(0, 0, 0, 0.1);
  --opacity-bg-color: 0.95;
  --opacity-bg-dots: 0.6;
  --box-shadow: transparent;
  --box-shadow-nav: rgba(0, 0, 0, 0.1);
}

.global-hash-site-rose,
body.tag-hash-post-bg-rose,
.global-hash-site-ruby,
body.tag-hash-post-bg-ruby,
.global-hash-site-burgundy,
body.tag-hash-post-bg-burgundy,
.global-hash-site-eggplant,
body.tag-hash-post-bg-eggplant,
.global-hash-site-magenta,
body.tag-hash-post-bg-magenta,
.global-hash-site-neon,
body.tag-hash-post-bg-neon,
.global-hash-site-ultramarine,
body.tag-hash-post-bg-ultramarine,
.global-hash-site-sapphire,
body.tag-hash-post-bg-sapphire,
.global-hash-site-grass,
body.tag-hash-post-bg-grass,
.global-hash-site-emerald,
body.tag-hash-post-bg-emerald,
.global-hash-site-custom-dark-color {
  /* Fonts */
  --color-font-one: #fff;
  --color-font-two: #182029;

  /* Background & Elements */
  --color-one: rgba(0, 0, 0, 0.15);
  --color-two: #fff;
  --color-three: rgba(255, 255, 255, 0.6);
  --color-four: rgba(0, 0, 0, 0.15);
  --color-body: var(--color-site-dark);
  --color-dots: #fff;
  --color-search-close: #fff;
  --color-notification: #fff;
  --color-notification-false: #f74856;

  /* Background, opacity and shadow */
  --bg-color-all: rgba(0, 0, 0, 0.2);
  --bg-color-hero: rgba(0, 0, 0, 0.1);
  --bg-color-small-image: rgba(0, 0, 0, 0.2);
  --bg-search: rgba(0, 0, 0, 0.6);
  --bg-nav: rgba(0, 0, 0, 0.15);
  --opacity-bg-color: 0.95;
  --opacity-bg-dots: 0.9;
  --box-shadow: transparent;
  --box-shadow-nav: rgba(0, 0, 0, 0.12);
}

/* Logo for dark version
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (prefers-color-scheme: dark) {
  .auto-dark-mode a.is-dark + a {
    display: none;
  }
}

.retro-mode a.is-dark + a {
  display: none;
}

@media (prefers-color-scheme: light) {
  .auto-dark-mode a.is-dark {
    display: none;
  }
}

/* Hiding 'Portal' notifications
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
iframe[title="portal-notification"] {
  display: none;
}

/* Ghost 'Custom fonts' adjustment
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.global-wrap[class*="gh-font-heading"],
body[class*="gh-font-heading"] {
  --font-family-two: var(--font-family-three);
}

.global-wrap[class*="gh-font-body"],
body[class*="gh-font-body"] {
  --font-family-four: monospace, monospace;
}

body[class*="gh-font-heading"] .post-content blockquote::before,
body[class*="gh-font-body"] .post-content blockquote::before {
  font-family: monospace, monospace;
  transform: translate(-10%, -10%);
}

/* //////////////////////////////////////////////////////////////////////////

   II. 3rd party scripts

   ////////////////////////////////////////////////////////////////////////// */

/* Normalize.css
   –––––––––––––––––––––––––––––––––––––––––––––––––––– 
   Version : 8.0.1
   Website : necolas.github.io/normalize.css
   Repo    : github.com/necolas/normalize.css
   Author  : Nicolas Gallagher
   License : MIT
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}
body {
  margin: 0;
}
main {
  display: block;
}
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
hr {
  overflow: visible;
  box-sizing: content-box;
  height: 0;
}
pre {
  font-family: monospace, monospace;
  font-size: 1em;
}
a {
  background-color: transparent;
}
abbr[title] {
  text-decoration: underline;
  text-decoration: underline dotted;
  border-bottom: none;
}
b,
strong {
  font-weight: bolder;
}
code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}
small {
  font-size: 80%;
}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
img {
  border-style: none;
}
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}
button,
input {
  overflow: visible;
}
button,
select {
  text-transform: none;
}
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  padding: 0;
  border-style: none;
}
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}
fieldset {
  padding: 0.35em 0.75em 0.625em;
}
legend {
  display: table;
  box-sizing: border-box;
  max-width: 100%;
  padding: 0;
  white-space: normal;
  color: inherit;
}
progress {
  vertical-align: baseline;
}
textarea {
  overflow: auto;
}
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
[type="search"] {
  outline-offset: -2px;
  -webkit-appearance: textfield;
}
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}
details {
  display: block;
}
summary {
  display: list-item;
}
template {
  display: none;
}
[hidden] {
  display: none;
}

/* Custom settings for lightense-images.js, progress bar
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.lightense-backdrop {
  z-index: 99998 !important;
  background-color: var(--color-body) !important;
  -webkit-backdrop-filter: initial !important;
  backdrop-filter: initial !important;
}
.lightense-wrap ~ br,
.lightense-wrap ~ small {
  display: none;
}
.lightense-wrap img {
  border-radius: 0 !important;
}
.post-progress {
  position: fixed;
  z-index: 90;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 8px;
  transition: opacity 0.15s ease-out 0.3s;
  border: none;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.post-progress:not([value]) {
  display: none;
}
.post-progress,
.post-progress[value]::-webkit-progress-bar {
  background-color: transparent;
}
.post-progress[value]::-webkit-progress-value {
  background-color: var(--ghost-accent-color);
}
.post-progress[value]::-moz-progress-bar {
  background-color: var(--ghost-accent-color);
}
.post-progress[value="1"] {
  opacity: 0;
}

/* Reading Header
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.reading-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9991; /* Below the default header */
  background-color: var(
    --color-four
  ); /* White on light theme, dark on dark theme */
  border-bottom: none; /* Removed border */
  box-shadow:
    0 1px 3px rgba(0, 0, 0, 0.08),
    0 4px 12px rgba(0, 0, 0, 0.04); /* High-end multi-layer shadow */
  transform: translateY(-100%);
  transition: transform 0.4s var(--ease-slide);
  will-change: transform;
}

.reading-header.is-visible {
  transform: translateY(0);
}

.reading-header-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 5vw;
  max-width: var(--max-width-global-wrap);
  margin: 0 auto;
  min-height: 50px;
}

.reading-header-left {
  display: flex;
  align-items: center;
  overflow: hidden;
  margin-right: 20px;
}

.reading-header-logo {
  line-height: 0;
  flex-shrink: 0;
  margin-right: 0;
  display: flex;
  align-items: center;
}

/* Thin separator pipe between logo and title */
.reading-header-logo::after {
  content: "";
  display: block;
  width: 1px;
  height: 16px;
  margin-left: 16px;
  background: var(--color-three);
  opacity: 0.25;
  flex-shrink: 0;
}

.reading-header-logo img,
.reading-header-logo svg {
  height: 20px;
  width: auto;
}

.reading-header-logo .is-title {
  font-family: var(--font-family-one);
  font-size: 20px;
  font-weight: var(--font-weight-one-bold);
  line-height: 1;
}

.reading-header-logo .codephoria-brand {
  position: relative;
  display: inline-block;
}

.reading-header-logo .brand-cod {
  font-weight: bold;
}
.reading-header-logo .brand-e {
  font-weight: bold;
}
.reading-header-logo .brand-phoria {
  font-weight: bold;
  font-style: italic;
}

.reading-header-title {
  font-family: var(--font-family-one);
  font-size: 14px;
  font-weight: var(--font-weight-one-bold);
  margin: 0;
  margin-left: 16px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: var(--color-font-one);
  opacity: 0.7;
}

.reading-header-share {
  position: relative;
  display: flex;
  align-items: center;
}

.reading-share-link {
  display: flex;
  align-items: center;
  font-family: var(--font-family-four);
  font-size: 12px;
  font-weight: var(--font-weight-four-medium);
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--color-font-one);
  cursor: pointer;
}

.reading-share-link svg {
  width: 16px;
  height: 16px;
  fill: currentColor;
  margin-right: 6px;
  transition: transform 0.2s ease;
}

.reading-share-link:hover svg {
  transform: scale(1.1);
}

.reading-share-info {
  position: absolute;
  top: 100%;
  right: 0;
  margin-top: 12px;
  padding: 8px 14px;
  background-color: var(--color-font-one);
  color: var(--color-body);
  font-family: var(--font-family-four);
  font-size: 12px;
  font-weight: var(--font-weight-four-medium);
  white-space: nowrap;
  border-radius: 4px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
  z-index: 100;
  pointer-events: none;
}
.reading-share-info.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

#reading-copy-link {
  position: absolute;
  left: -9999px;
  opacity: 0;
}

/* Integrated Progress Bar */
.reading-header .post-progress {
  position: absolute;
  top: auto;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  border: none;
}

@media (max-width: 768px) {
  .reading-header-title {
    display: none;
  }
}

@media (max-width: 480px) {
  .reading-share-link span {
    display: none;
  }
  .reading-share-link svg {
    margin-right: 0;
  }
}

/* //////////////////////////////////////////////////////////////////////////

   III. Theme
   
   ////////////////////////////////////////////////////////////////////////// */

/* --------------------------------------------------------------------------
   1.Global
   -------------------------------------------------------------------------- */
html {
  font-size: 62.5%;
}

html,
body {
  height: 100%;
  max-height: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

body {
  font-family:
    -apple-system,
    BlinkMacSystemFont,
    Segoe UI,
    Roboto,
    Oxygen,
    Ubuntu,
    Cantarell,
    Open Sans,
    Helvetica Neue,
    sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.5;
  word-wrap: break-word;
  word-break: break-word;
  color: var(--color-font-one);
  background-color: var(--color-body);
}

/* Preload
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
body:not(.is-loaded) .global-underline {
  transition-duration: 0s;
}

/* Typography
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
h1,
h2 {
  letter-spacing: -0.5px;
}

h1,
h2,
h3,
h4,
h5,
h6,
input,
textarea,
blockquote {
  line-height: 1.3;
  color: var(--color-font-one);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-family-one);
  font-weight: var(--font-weight-one-bold);
}

/* Links
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
a {
  text-decoration: none;
  color: var(--color-font-one);
}

/* input & textarea
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
input,
textarea {
  border: none;
  border-radius: 0;
  outline: none;
  background-color: transparent;
  box-shadow: none;
}

input {
  font-family: var(--font-family-two);
  font-weight: var(--font-weight-two-semi-bold);
}

input:focus {
  color: var(--color-font-two);
}

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: var(--color-font-one);
}

input::-moz-placeholder,
textarea::-moz-placeholder {
  opacity: 1;
  color: var(--color-font-one);
}

input::-ms-input-placeholder,
textarea::-ms-input-placeholder {
  color: var(--color-font-one);
}

input::placeholder,
textarea::placeholder {
  color: var(--color-font-one);
}

/* Background post color
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
body.global-hash-post-card-one-color .global-color::after {
  background-color: var(--bg-color-all) !important;
}

.global-color::after {
  opacity: var(--opacity-bg-color);
}

/* Heading
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.global-heading {
  font-size: 20px;
  display: block;
  width: 100%;
  margin: var(--section-gap-sm) 0;
  text-align: center;
}

/* Image
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.global-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.global-bg-image {
  background: no-repeat center center/cover;
}

/* Underline
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.global-underline {
  padding-bottom: 0.2%;
  transition: background-size 0.6s ease-out;
  background: linear-gradient(
      var(--ghost-accent-color),
      var(--ghost-accent-color)
    )
    no-repeat left 123%/0 40%;
}

.global-underline:hover {
  background-size: 97% 40%;
}

/* Button
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.global-button {
  font-family: var(--font-family-two);
  font-size: 14px;
  font-weight: var(--font-weight-two-semi-bold);
  line-height: 1;
  position: relative;
  z-index: 0;
  display: inline-block;
  padding: var(--space-4) var(--space-5);
  cursor: pointer;
  letter-spacing: 1px;
  color: var(--color-font-two);
  border: none;
  outline: none;
}

.global-button::before,
.global-button::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
}

.global-button::before {
  z-index: -1;
  background-color: var(--ghost-accent-color);
}

.global-button::after {
  z-index: -2;
  transition-timing-function: ease;
  transition-duration: 0.15s;
  transition-property: top, left, right, bottom;
  pointer-events: none;
  background-color: var(--color-two);
}

.global-button:hover::after {
  top: 6px;
  right: -6px;
  bottom: -6px;
  left: 6px;
}

.global-button:hover a {
  color: var(--color-body) !important;
}

/* Meta, Tags & Reading time
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.global-meta,
.global-tags {
  font-family: var(--font-family-four);
  font-size: 12px;
  font-weight: var(--font-weight-four-medium);
  position: relative;
  z-index: 1;
  width: 100%;
}

.global-meta {
  margin-bottom: var(--space-4);
}

.global-tags a {
  margin: 10px 1.5% 0 0;
  letter-spacing: 1px;
}

.global-tags a,
.global-meta time {
  display: inline-block;
}

.global-meta time::first-letter {
  text-transform: capitalize;
}

/* Hash sign */
.global-tags-hash-sign::before {
  position: relative;
  content: "#";
}

/* Special section
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.global-special,
.global-special article {
  position: relative;
}

.global-special {
  display: flex;
  flex-grow: 1;
  margin: var(--section-gap) auto var(--space-5);
  padding-top: var(--space-5);
  border-top: 4px solid var(--ghost-accent-color);
}

.global-special h2 {
  font-family: var(--font-family-four);
  font-size: 13px;
  font-weight: var(--font-weight-four-medium);
  line-height: 1.4;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  display: inline-block;
  margin: 0;
  transform: translateY(-100%);
  letter-spacing: 0;
  color: var(--color-font-two);
}

.global-special h2 span {
  background-color: var(--ghost-accent-color);
}

.global-special article {
  flex: 1 0 25%;
  box-sizing: border-box;
  padding: var(--space-2) var(--space-5);
}

.global-special article:first-of-type,
.global-special article:first-of-type:last-of-type {
  padding-left: 0;
}

.global-special article:first-of-type:last-of-type {
  border-left: none;
}

.global-special article:not(:first-of-type):not(:last-of-type),
.global-special article:last-of-type {
  border-left: var(--border) var(--color-three);
}

.global-special h3 {
  font-size: 20px;
  margin-top: 0;
  margin-bottom: var(--space-2);
}

.global-special h3 + .global-meta {
  margin-bottom: 0;
}

/* Members — Question about member account
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
small.global-question {
  font-family: var(--font-family-four);
  font-size: 13px;
  font-weight: var(--font-weight-four-medium);
  display: block;
  margin-top: 5vh;
}

small.global-question a {
  transition: border-bottom-color 0.2s ease;
  border-bottom: 1px solid;
}

small.global-question a:hover {
  border-bottom-color: var(--ghost-accent-color);
}

/* Members — Labels
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.global-members-label {
  font-family: var(--font-family-four);
  font-size: 13px;
  font-weight: var(--font-weight-four-medium);
  line-height: 1.4;
  position: absolute;
  top: -30px;
  left: -1px;
  color: var(--color-font-two);
  background-color: var(--ghost-accent-color);
}

/* Members — Notifications
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.global-notification div {
  font-family: var(--font-family-two);
  font-size: 13px;
  font-weight: var(--font-weight-two-semi-bold);
  position: fixed;
  z-index: 101;
  top: 25px;
  right: 10px;
  left: 10px;
  display: none;
  visibility: hidden;
  max-width: 600px;
  margin: 0 auto;
  padding: var(--space-5);
  transform: translateY(-150%);
  -webkit-animation: slideDownNotification 5s cubic-bezier(0.19, 1, 0.22, 1)
    forwards;
  animation: slideDownNotification 5s cubic-bezier(0.19, 1, 0.22, 1) forwards;
  text-align: center;
  color: var(--color-font-two);
  background-color: var(--color-notification);
}

.global-notification .expired {
  background-color: var(--color-notification-false);
}

.global-notification.is-subscribe .subscribe,
.global-notification.is-signin .signin,
.global-notification.is-signup .signup,
.global-notification.is-update-email .update-email,
.global-notification.is-expired .expired,
.global-notification.is-checkout-success .checkout-success {
  display: block;
}

@-webkit-keyframes slideDownNotification {
  15% {
    transform: translateY(0);
  }
  85% {
    transform: translateY(0);
  }
  100% {
    visibility: visible;
  }
}

@keyframes slideDownNotification {
  15% {
    transform: translateY(0);
  }
  85% {
    transform: translateY(0);
  }
  100% {
    visibility: visible;
  }
}

/* Wrap & Sticky Footer
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.global-wrap,
.global-content {
  height: 100%;
}

.global-content {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 0 55px;
}

.global-main {
  flex: 1 0 auto;
  margin-top: 0;
  margin-bottom: 0;
}

.global-main,
.global-footer {
  width: 100%;
  max-width: var(--max-width-global-wrap);
  margin-right: auto;
  margin-left: auto;
}

.global-footer {
  flex-shrink: 0;
}

/* RWD — Global settings
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width: 480px) {
  .global-heading {
    font-size: 16px;
  }
}

/* RWD — Meta & Tags
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width: 480px) {
  .global-meta,
  .global-tags {
    font-size: 12px;
  }

  .global-tags,
  .global-tags a {
    margin-top: 5px;
  }
}

/* RWD — Special section
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width: 480px) {
  .global-special {
    margin-bottom: 10px;
  }

  .global-special h3 {
    font-size: 15px;
  }

  small.global-question,
  .global-members-label {
    font-size: 12px;
  }
}

@media (min-width: 481px) and (max-width: 768px) {
  .global-special h3 {
    font-size: 17px;
  }
}

@media (max-width: 768px) {
  .global-special {
    flex-wrap: wrap;
    margin-top: 0;
    padding-top: 10px;
  }

  .global-special article:not(:first-of-type):not(:last-of-type),
  .global-special article:last-of-type {
    border-left: none;
  }

  .global-special article {
    flex-basis: 100%;
    padding-left: 0;
  }

  .global-special h3 {
    margin-bottom: 3px;
  }
}

@media (min-width: 769px) and (max-width: 1024px) {
  .global-special {
    margin-top: 5vh;
  }
}

@media (max-width: 1024px) {
  .global-special {
    min-width: 100%;
  }

  .global-content {
    padding-right: 6%;
    padding-left: 6%;
  }
}

/* --------------------------------------------------------------------------
   2.Header
   -------------------------------------------------------------------------- */
.header-section {
  width: 100%;
  position: sticky;
  top: 0;
  z-index: 9999;
  background: var(--color-body);
  border-bottom: 2px solid var(--color-font-one);
  margin-bottom: var(--space-7);
}

.header-wrap {
  max-width: var(--max-width-global-wrap);
  margin-left: auto;
  margin-right: auto;
  padding-top: var(--space-5);
  padding-bottom: var(--space-5);
}

.header-wrap,
.header-nav nav,
.header-nav nav > ul {
  display: flex;
  align-items: center;
}

.header-section,
.header-logo,
.header-nav nav {
  box-sizing: border-box;
}

/* Logo
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.header-logo {
  display: inline-block;
  flex: 1 0 auto;
  word-break: normal;
}

.header-logo,
.header-logo .is-image {
  line-height: 0;
}

.header-logo .is-image,
.header-logo .is-title {
  margin: 0;
}

.header-logo .is-image img {
  max-height: var(--height-logo-header);
  aspect-ratio: attr(width) / attr(height);
}

.header-logo .is-image img,
.header-logo .is-title {
  max-width: 300px;
}

.header-logo .is-title {
  font-family: var(--font-family-one);
  font-size: 40px;
  font-weight: var(--font-weight-one-bold);
  line-height: 1.3;
  display: inline-block;
  letter-spacing: -0.5px;
}

/* Navigation
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.header-nav {
  font-family: var(--font-family-two);
  font-weight: var(--font-weight-two-bold);
  position: relative;
  z-index: 99;
  flex: 0 1 100%;
}

.header-nav nav {
  width: 100%;
  padding: 0;
}

.header-nav nav ul {
  z-index: 1;
  margin: 0;
  padding: 0;
  list-style: none;
  word-break: normal;
}

.header-nav nav > ul {
  flex-grow: 1;
}

.header-nav nav > ul + ul {
  flex: 0 0 auto;
}

.header-nav li,
.header-nav a {
  font-size: 14px;
  display: inline-block;
}

/* Item
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.header-nav a {
  line-height: 1.5;
  position: relative;
  margin: 0 var(--space-6) 0 0;
  padding: 2px 0 0 0; /* Optical alignment for uppercase font */
  text-decoration: none;
}

/* Slide-in underline for premium interaction */
.header-nav a::after {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 100%;
  height: 2px;
  background: var(--ghost-accent-color);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s var(--ease-out);
}

.header-nav a:hover::after,
.header-nav a.is-active::after {
  transform: scaleX(1);
}

/* Hide active underline on the homepage itself */
.home-template .header-nav a.is-active:not(:hover)::after {
  transform: scaleX(0);
}

/* No underline effect for the signup button */
.header-nav .signup a::after {
  display: none !important;
}

/* Search icon
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.header-search {
  line-height: 0;
}

.header-search span {
  font-family: var(--font-family-two);
  font-size: 15px;
  font-weight: var(--font-weight-two-bold);
  display: none;
  margin-right: 8px;
  padding-top: 2px; /* Optical alignment */
  color: var(--color-font-two);
}

.header-search svg {
  width: 16px;
  cursor: pointer;
  fill: var(--color-font-one);
  transform: translateY(1px); /* Match text optical shift */
}

/* Toogle
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.header-checkbox,
.header-checkbox:checked,
.header-toggle,
.header-checkbox:checked ~ nav {
  display: none;
}

.header-toggle,
.header-toggle > span,
.header-checkbox:checked ~ nav ul {
  position: relative;
}

.header-toggle .bar,
.header-checkbox:checked ~ nav,
.header-checkbox:checked ~ nav::before {
  position: absolute;
}

.header-toggle {
  z-index: 99;
  overflow: visible;
  width: 25px;
  height: 25px;
  margin: 0;
  padding: 5px;
  cursor: pointer;
  opacity: 1;
  border: none;
  outline: none;
  background-color: transparent;
}

.header-toggle > span {
  top: 50%;
}

.header-toggle > span,
.header-toggle .bar {
  display: block;
  width: 100%;
}

.header-toggle .bar {
  height: 3px;
  content: "";
  transition:
    transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1),
    top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0.2s;
  background-color: var(--color-two);
}

.header-toggle .bar:nth-child(1) {
  top: -10px;
}

.header-toggle .bar:nth-child(3) {
  top: 10px;
}

.header-checkbox:checked ~ label .bar {
  transition:
    transform 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0.3s,
    top 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.header-checkbox:checked ~ label .bar:nth-child(1),
.header-checkbox:checked ~ label .bar:nth-child(3) {
  top: 0;
}

.header-checkbox:checked ~ label .bar:nth-child(1),
.header-checkbox:checked ~ label .bar:nth-child(2) {
  transform: rotate(45deg);
}

.header-checkbox:checked ~ label .bar:nth-child(3) {
  transform: rotate(-45deg);
}

.header-checkbox:checked ~ nav {
  z-index: 98;
  background-color: var(--color-body);
  box-shadow: 0 25px 95px 5px var(--box-shadow-nav);
}

.header-checkbox:checked ~ nav::before {
  z-index: -1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  background-color: var(--bg-nav);
}

.header-checkbox:checked ~ nav ul {
  display: inline-block;
  box-sizing: border-box;
  margin: 0;
  padding: 0 0 0 15px;
  list-style: none;
}

/* RWD — Header
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width: 480px) {
  .header-section {
    margin-bottom: 20px;
  }

  .header-wrap {
    min-height: 60px;
    margin-top: 0;
    margin-bottom: 0;
  }

  .header-logo {
    flex-basis: 75%;
  }

  .header-logo .is-title {
    max-width: 220px;
  }

  .header-logo .is-image img {
    max-height: var(--height-logo-mobile-header);
  }

  .header-nav {
    flex-basis: 25%;
  }

  .header-checkbox:checked ~ nav {
    top: 40px;
    right: 0;
    min-width: 200px;
  }
}

@media (min-width: 481px) and (max-width: 1024px) {
  .header-section {
    margin-bottom: 30px;
  }

  .header-wrap {
    margin-top: 0;
    margin-bottom: 0;
  }

  .header-logo,
  .header-nav {
    flex-basis: 50%;
  }

  .header-checkbox:checked ~ nav {
    top: 50px;
    right: -10px;
    max-width: 200px;
  }
}

@media (max-width: 768px) {
  .header-logo .is-title {
    font-size: 25px;
  }
}

@media (min-width: 769px) and (max-width: 1024px) {
  .header-logo .is-title {
    font-size: 28px;
  }
}

@media (max-width: 1024px) {
  .header-nav {
    text-align: right;
  }

  .header-toggle,
  .header-search span {
    display: inline-block;
  }

  .header-nav nav > ul,
  .header-nav nav > ul + ul,
  .header-nav-dropdown svg {
    display: none;
  }

  .header-nav ul > li {
    display: block;
  }

  .header-nav a {
    line-height: 1.3;
    margin-right: 8px;
    padding: 5px 10px 9px 0;
    word-break: break-word;
  }

  .header-nav a::before {
    top: 2px;
    right: 2px;
  }

  .header-nav .signup {
    padding: 0;
    letter-spacing: 0;
  }

  .header-nav .signup::before,
  .header-nav .signup::after {
    background-color: transparent;
  }

  .header-nav .signup a {
    font-weight: var(--font-weight-two-bold);
  }

  .header-checkbox:checked ~ nav {
    display: flex;
    flex-wrap: wrap;
    padding-top: 15px;
    padding-bottom: 15px;
  }

  .header-checkbox:checked ~ nav.is-search {
    padding-bottom: 65px;
  }

  .header-checkbox:checked ~ nav ul {
    width: 100%;
  }

  .header-checkbox:checked ~ nav ul ul {
    padding-left: 0;
  }

  .header-search {
    position: absolute;
    right: 0;
    bottom: -65px;
    left: 0;
    box-sizing: border-box;
    width: 100%;
    height: 50px;
    padding: 17px 18px 0 0;
    cursor: pointer;
    background-color: var(--ghost-accent-color);
  }

  .header-search svg {
    width: 15px;
    margin-bottom: -2px;
    fill: var(--color-font-two);
  }
}

@media (min-width: 1025px) {
  .header-logo,
  .header-nav-dropdown.is-active ul,
  .header-nav-dropdown.is-active ul::before {
    position: absolute;
  }

  .header-logo {
    z-index: 98;
    top: 0;
    left: calc(50% - 150px);
    width: 300px;
    text-align: center;
  }

  .header-nav {
    pointer-events: none;
  }

  .header-nav li,
  .header-nav-dropdown ul li {
    pointer-events: auto;
  }

  .header-nav .signup {
    margin-right: 25px;
    padding: 0;
  }

  .header-nav nav:not(.is-search) .signin a,
  .header-nav nav:not(.is-search) .signout a {
    margin-right: 0;
  }

  .header-nav nav.is-search .signin a,
  .header-nav nav.is-search .signout a {
    margin-right: 26px;
  }

  .header-nav .signup a {
    font-family: var(--font-family-two);
    font-size: 12px;
    font-weight: var(--font-weight-two-semi-bold);
    margin-right: 0;
    padding: 10px 12px 8px;
    letter-spacing: 0.5px;
    color: var(--color-font-one);
  }

  .header-nav-dropdown ul,
  .header-nav .signup a::before {
    display: none;
  }

  .header-nav-dropdown {
    display: inline-block;
    width: 30px;
    margin-right: 20px;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    text-align: left;
  }

  .header-nav-dropdown svg {
    width: 22px;
    margin: 0 0 3px;
    fill: var(--color-font-one);
  }

  .header-nav-dropdown.is-active ul {
    font-size: 15px;
    z-index: 999;
    top: 40px;
    display: block;
    min-width: 140px;
    margin: 0;
    padding: 20px 10px 15px;
    list-style: none;
    cursor: default;
    transform: translateX(-17px);
    background-color: var(--color-body);
    box-shadow: 0 25px 95px 5px var(--box-shadow-nav);
  }

  .header-nav-dropdown.is-active ul::before {
    z-index: -1;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: "";
    background-color: var(--bg-nav);
  }

  .header-nav-dropdown ul li {
    position: relative;
    display: block;
    padding: 0 0 6px;
    text-align: left;
    background-color: transparent;
  }

  .header-nav-dropdown a {
    line-height: 1.5;
    display: inline-block;
    margin: 0 7px;
    padding: 2px;
    text-decoration: none;
    word-break: normal;
  }

  .header-nav-dropdown a::before {
    top: 0;
  }
}

@media (min-width: 1025px) and (max-width: 1280px) {
  .header-nav a,
  .header-nav .signin a,
  .header-nav .signout a,
  .header-nav .signup {
    margin-right: 18px;
  }
}

/* --------------------------------------------------------------------------
   3.Pinned
   -------------------------------------------------------------------------- */
.pinned-section {
  display: flex;
}

.pinned-pages {
  border-color: var(--color-announcements);
}

.pinned-pages h2 span {
  background-color: var(--color-announcements);
}

.pinned-pages + .pinned-posts {
  margin-left: 35px;
}

.pinned-pages.items-1,
.pinned-pages.items-3 + .pinned-posts {
  flex-basis: 25%;
}

.pinned-pages.items-2,
.pinned-pages.items-2 + .pinned-posts {
  flex-basis: 50%;
}

.pinned-pages.items-3,
.pinned-pages.items-1 + .pinned-posts {
  flex-basis: 75%;
}

.pinned-pages.items-1 + .pinned-posts article:nth-of-type(4),
.pinned-pages.items-2 + .pinned-posts article:nth-of-type(3),
.pinned-pages.items-2 + .pinned-posts article:nth-of-type(4),
.pinned-pages.items-3 + .pinned-posts article:nth-of-type(2),
.pinned-pages.items-3 + .pinned-posts article:nth-of-type(3),
.pinned-pages.items-3 + .pinned-posts article:nth-of-type(4),
.pinned-pages.items-4 + .pinned-posts {
  display: none;
}

/* RWD — Pinned
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width: 768px) {
  .pinned-section {
    margin-bottom: 4vh;
    padding: 35px 5% 0;
    border: var(--border) var(--color-three);
  }
}

@media (max-width: 1024px) {
  .pinned-section {
    flex-wrap: wrap;
  }

  .pinned-pages + .pinned-posts {
    margin-top: 15px;
    margin-left: 0;
  }
}

/* --------------------------------------------------------------------------
   4.Loop
   -------------------------------------------------------------------------- */
.loop-wrap {
  flex-wrap: wrap;
  margin-bottom: var(--section-gap-sm);
  -webkit-animation: slideTopLoop 0.8s ease;
  animation: slideTopLoop 0.8s ease;
}

.loop-wrap,
.item-container {
  display: flex;
}

.item,
.item-container {
  box-sizing: border-box;
}

@-webkit-keyframes slideTopLoop {
  0% {
    transform: translateY(70px);
  }
  100% {
    transform: translateY(0);
  }
}

@keyframes slideTopLoop {
  0% {
    transform: translateY(70px);
  }
  100% {
    transform: translateY(0);
  }
}

/* Members — Labels
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.item.is-hero .item-content > span {
  position: initial;
  display: inline-block;
  margin-bottom: 20px;
}

/* Item
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.item {
  flex: 1 0 50%;
  max-width: 50%;
  margin-top: var(--section-gap);
  padding-top: 0;
  padding-bottom: 0;
}

.item.is-hero {
  flex-basis: 100%;
  max-width: 100%;
  margin-top: var(--section-gap);
  padding: var(--space-7) 0;
}

.item.is-even {
  padding-right: var(--space-6);
  padding-left: var(--space-8);
}

.item.is-odd {
  padding-right: var(--space-8);
  padding-left: var(--space-6);
}

/* Container
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.item-container {
  position: relative;
  max-width: 100%;
}

.item-container::after {
  background-color: var(--bg-color-hero);
}

.item.is-hero .item-container::before {
  z-index: -2;
  top: -6vh;
  right: 0;
  bottom: -4vh;
  max-width: 59.7%;
  opacity: var(--opacity-bg-dots);
  background-image: radial-gradient(var(--color-dots) 6%, transparent 0);
  background-size: 28px 28px;
}

.item.is-hero .item-container::before,
.item.is-hero .item-container::after {
  position: absolute;
  width: 100%;
  content: "";
}

.item.is-hero .item-container::after {
  z-index: -3;
  top: -7vh;
  right: 70px;
  bottom: 4vh;
  max-width: calc(59.7% - 65px);
}

.item.is-hero.is-image .item-container::before {
  max-width: 491px;
}

.item.is-hero.is-image .item-container::after {
  max-width: 427px;
}

.item.is-even .item-container,
.item.is-odd .item-container {
  border-left: var(--border) var(--color-three);
}

/* Image
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.item-image {
  line-height: 0;
  position: relative;
  z-index: 1;
  float: right;
  width: 125px;
  height: 125px;
  margin-bottom: var(--space-4);
  margin-left: 7%;
}

.item-image::after {
  position: absolute;
  z-index: -1;
  top: -10px;
  right: 10px;
  bottom: 10px;
  left: -10px;
  content: "";
  pointer-events: none;
  background-color: var(--bg-color-small-image);
}

.item.is-hero .item-image {
  top: 0;
  right: 40px;
  float: none;
  flex: 0 0 350px;
  order: 2;
  width: 350px;
  height: 100%;
  margin: 0;
  -webkit-animation: slideTopImage 1s ease;
  animation: slideTopImage 1s ease;
}

.item.is-hero .item-image::after {
  display: none;
}

@-webkit-keyframes slideTopImage {
  0% {
    transform: translateY(40px);
  }
  100% {
    transform: translateY(0);
  }
}

@keyframes slideTopImage {
  0% {
    transform: translateY(40px);
  }
  100% {
    transform: translateY(0);
  }
}

/* Figcaption */
.item-image figcaption {
  font-size: 10px;
  line-height: 1.2;
  position: absolute;
  right: 0;
  bottom: 0;
  padding: 3px;
  transform: translateY(100%);
  text-align: right;
  background-color: var(--color-body);
}

.item-image figcaption,
.item-image figcaption a {
  color: var(--color-font-one);
}

/* Content
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.item-content {
  width: 100%;
  padding: var(--space-3) 0 var(--space-3) 5%;
}

.item.is-hero .item-content {
  padding: 0;
  will-change: transform;
}

.item.is-hero.is-image .item-content {
  padding-right: 5%;
}

/* Title
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.item-title {
  font-size: 25px;
  width: 100%;
  margin: 0 0 var(--space-4) -2px;
}

.item.is-image:not(.is-hero) .item-title {
  width: calc(93% - 125px);
}

.item.is-hero .item-title {
  font-size: clamp(32px, 5vw + 1rem, 55px);
  max-width: 600px;
  margin-left: -4px;
}

.item.is-hero .item-title a {
  -webkit-filter: brightness(107%);
  filter: brightness(107%);
}

/* Disable filter for Edge */
@supports (-ms-ime-align: auto) {
  .item.is-hero .item-title a {
    -webkit-filter: initial;
    filter: initial;
  }
}

/* Excerpt
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.item-excerpt {
  font-family: var(--font-family-two);
  font-size: 13px;
  font-weight: var(--font-weight-two-medium);
  line-height: 1.6;
  width: 95%;
  max-width: 400px;
  margin-top: 0;
  margin-bottom: 0;
  padding: 5px 0 10px;
}

.item.is-hero .item-excerpt {
  font-size: 14px;
  font-weight: var(--font-weight-two-semi-bold);
  line-height: 1.9;
  max-width: 600px;
  padding-top: 25px;
  padding-bottom: 4vh;
  -moz-column-count: 1;
  column-count: 1;
  -moz-column-gap: 30px;
  column-gap: 30px;
}

/* RWD — Loop
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width: 480px) {
  .item,
  .item.is-hero {
    margin-top: 0;
    margin-bottom: 20px;
  }

  .item.is-hero {
    padding-bottom: 35px;
  }

  .item.is-even,
  .item.is-odd {
    padding-right: 0;
    padding-left: 0;
  }

  .item.is-hero .item-container {
    flex-wrap: wrap;
  }

  .item.is-hero .item-container::after {
    right: 0;
    max-width: 59.7%;
  }

  .item.is-hero.is-image .item-container::before,
  .item.is-hero.is-image .item-container::after {
    display: none;
  }

  .item-image::after {
    background-color: var(--bg-color-hero);
  }

  .item.is-hero .item-image {
    flex-basis: 100%;
    order: 0;
    max-width: 100%;
    margin-bottom: 20px;
  }

  .item.is-hero .item-image img,
  .item.is-hero.is-image .item-image::after {
    max-width: 240px;
  }

  .item.is-hero .item-container::before,
  .item.is-hero.is-image .item-image::before {
    background-size: 17px 17px;
  }

  .item.is-hero.is-image .item-image::before,
  .item.is-hero.is-image .item-image::after {
    position: absolute;
    top: -35px;
    left: 35px;
    display: block;
    content: "";
  }

  .item.is-hero.is-image .item-image::before {
    z-index: -2;
    right: 0;
    bottom: 10px;
    background-image: radial-gradient(var(--color-dots) 6%, transparent 0);
  }

  .item.is-hero.is-image .item-image::after {
    z-index: -3;
    bottom: 40px;
  }

  .item-image figcaption {
    right: initial;
    left: 0;
    transform: translateY(0);
    text-align: left;
  }

  .item.is-hero .item-content,
  .item.is-hero.is-image .item-content {
    padding-right: 0;
  }

  .item.is-hero .item-content > span {
    margin-bottom: 10px;
  }

  .item.is-hero .item-title {
    font-size: 32px;
    margin-bottom: 0;
    margin-left: -1px;
  }
}

@media (min-width: 481px) and (max-width: 768px) {
  .item,
  .item.is-hero {
    margin-top: 4vh;
    margin-bottom: 0;
  }

  .item.is-even,
  .item.is-odd {
    padding-right: 10%;
    padding-left: 10%;
  }

  .item.is-hero .item-container::after {
    right: 26px;
    max-width: calc(59.7% - 26px);
  }

  .item.is-hero.is-image .item-container::before {
    max-width: 275px;
  }

  .item.is-hero.is-image .item-container::after {
    max-width: 245px;
  }

  .item.is-hero .item-image {
    flex-basis: 200px;
    width: 200px;
  }

  .item.is-hero .item-title {
    font-size: 40px;
  }
}

@media (max-width: 768px) {
  .item {
    flex-basis: 100%;
    max-width: 100%;
  }

  .item.is-hero.is-first {
    margin-top: 0;
  }

  .item.is-even .item-container,
  .item.is-odd .item-container {
    display: block;
    border-left: none;
  }

  .item.is-odd .item-container > span,
  .item.is-even .item-container > span {
    position: initial;
    display: inline-block;
    margin-bottom: 5px;
  }

  .item-content {
    padding-left: 0;
  }

  .item-title {
    margin-left: 0;
  }
}

@media (min-width: 769px) and (max-width: 1024px) {
  .item {
    margin-top: 10vh;
  }

  .item.is-hero.is-first {
    margin-top: 3vh;
  }

  .item.is-even {
    padding-right: 2%;
    padding-left: 0;
  }

  .item.is-odd {
    padding-right: 0;
    padding-left: 2%;
  }

  .item.is-hero.is-image .item-container::before {
    max-width: 375px;
  }

  .item.is-hero.is-image .item-container::after {
    max-width: 314px;
  }

  .item.is-hero .item-container::after {
    right: 67px;
  }

  .item.is-hero .item-image {
    flex-basis: 290px;
    width: 290px;
  }

  .item.is-hero .item-title {
    font-size: 55px;
  }

  .item.is-hero .item-excerpt {
    max-width: 480px;
  }

  .item.is-hero.is-image .item-excerpt {
    max-width: 380px;
  }
}

@media (max-width: 1024px) {
  .loop-wrap {
    margin-bottom: 0;
  }

  .item.is-hero .item-container::before {
    top: -3.1vh;
    opacity: calc(var(--opacity-bg-dots) / 1.5);
  }

  .item.is-hero .item-container::after {
    top: -4vh;
    bottom: 3vh;
  }

  .item-image {
    width: 95px;
    height: 95px;
    margin-top: 6px;
  }

  .item.is-image:not(.is-hero) .item-title {
    width: calc(93% - 95px);
  }

  .item-image::after {
    top: -6px;
    right: 6px;
    bottom: 6px;
    left: -6px;
  }

  .item.is-hero .item-image {
    right: 0;
  }

  .item.is-hero .item-content {
    will-change: auto;
  }

  .item-excerpt {
    padding-top: 5px;
  }

  .item-excerpt,
  .item.is-hero .item-excerpt {
    padding-bottom: 5px;
  }

  .item.is-hero .item-excerpt {
    padding-top: 15px;
  }
}

@media (min-width: 1025px) and (max-width: 1280px) {
  .item.is-hero .item-excerpt {
    max-width: 500px;
    padding-top: 10px;
    padding-bottom: 3vh;
  }

  .item.is-hero .item-title {
    font-size: 65px;
  }
}

@media (max-width: 1280px) {
  .item-title {
    font-size: 24px;
  }

  .item.is-hero .item-excerpt {
    line-height: 1.7;
    -moz-column-count: 1;
    column-count: 1;
  }
}

@media (min-width: 1200px) {
  .item.is-hero.is-large .item-image {
    flex-basis: 450px;
    width: 450px;
  }

  .item.is-hero.is-large.is-image .item-container::before {
    max-width: 591px;
  }

  .item.is-hero.is-large.is-image .item-container::after {
    max-width: 527px;
  }
}

/* --------------------------------------------------------------------------
   5.Pagination & Load more
   -------------------------------------------------------------------------- */
.load-more {
  display: none;
  width: 50px;
  height: 50px;
  padding: 0;
  cursor: pointer;
  transition-timing-function: cubic-bezier(0.39, 0.07, 0.68, 1.7);
  transition-duration: 0.25s;
  transition-property: transform, background-color;
  border: 10px solid var(--ghost-accent-color);
  border-radius: 50% !important;
  outline: none;
  background-color: var(--color-body);
}

.load-more:hover {
  transform: scale(0.6);
  background-color: var(--ghost-accent-color);
}

.pagination-section {
  margin: var(--section-gap) auto var(--content-gap);
  padding-bottom: 1px;
  text-align: center;
}

/* Fixes Ghost rendering error */
.pagination {
  display: none;
  visibility: hidden;
  opacity: 0;
}

/* Standard */
.load-more.is-standard {
  width: initial;
  height: initial;
  transition: initial;
  border-radius: 50% !important;
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: initial;
  padding: 20px 25px 18px;
  border: none;
}

.load-more.is-standard:hover {
  transform: none;
}

/* RWD — Pagination & Load more
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width: 480px) {
  .load-more {
    width: 40px !important;
    height: 40px !important;
    border-width: 8px;
    border-radius: 50% !important;
  }
}

@media (max-width: 768px) {
  .pagination-section {
    margin-top: 5vh;
    margin-bottom: 9vh;
  }
}

/* --------------------------------------------------------------------------
   6.Search function
   -------------------------------------------------------------------------- */
.search-section {
  z-index: 998;
  display: none;
}

.search-section,
.search-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.search-overlay {
  z-index: 997;
  background-color: var(--bg-search);
}

.search-content {
  position: relative;
  z-index: 999;
  top: 20vh;
  overflow: hidden;
  width: calc(100% - 50px);
  max-width: 900px;
  margin: 0 auto;
  background-color: var(--color-body);
}

.search-content,
.search-form input,
.search-meta,
.search-results {
  box-sizing: border-box;
}

.search-meta,
.search-results small {
  font-family: var(--font-family-four);
  font-size: 13px;
  font-weight: var(--font-weight-four-medium);
  display: block;
  width: 100%;
}

/* Close
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.search-close {
  position: absolute;
  z-index: 999;
  top: 50px;
  right: 50px;
  cursor: pointer;
}

.search-close svg {
  width: 25px;
  height: 25px;
  fill: var(--color-search-close);
}

/* Form
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.search-form input {
  font-size: 30px;
  display: block;
  width: 100%;
  padding: 25px 20px;
  color: var(--color-font-one);
}

/* Meta
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.search-meta {
  margin: 0;
  padding: 8px 0 8px 20px;
  text-align: left;
  color: var(--color-font-two);
  background-color: var(--ghost-accent-color);
}

.search-meta .is-hide {
  display: none;
}

/* Results
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.search-results {
  overflow-x: hidden;
  overflow-y: auto;
  width: 100%;
  max-height: calc(60vh - 105px);
  padding: 0 15px 0 20px;
}

.search-results small {
  margin-bottom: 7px;
}

.search-results small:first-of-type {
  margin-top: 20px;
}

.search-results a {
  font-family: var(--font-family-one);
  font-size: 22px;
  font-weight: var(--font-weight-one-bold);
  line-height: 1.3;
  display: inline-block;
  margin: 0 0 15px;

  /* Staggered Reveal Animation */
  opacity: 0;
  transform: translateY(8px);
  animation: search-result-in 0.3s var(--ease-out) forwards;
}

.search-results a:nth-child(1) {
  animation-delay: 0.05s;
}
.search-results a:nth-child(2) {
  animation-delay: 0.1s;
}
.search-results a:nth-child(3) {
  animation-delay: 0.15s;
}
.search-results a:nth-child(4) {
  animation-delay: 0.2s;
}
.search-results a:nth-child(5) {
  animation-delay: 0.25s;
}

@keyframes search-result-in {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.search-results a:last-of-type {
  margin-bottom: 25px;
}

/* If active
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.search-is-active {
  overflow: hidden;
  -webkit-overflow-scrolling: auto;
}

.search-is-active .global-wrap {
  overflow-x: hidden;
  overflow-y: scroll;
}

.search-is-active .search-section {
  -webkit-animation: showSearch 0.2s ease forwards;
  animation: showSearch 0.2s ease forwards;
}

@-webkit-keyframes showSearch {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes showSearch {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/* Hiding the scrollbar
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (min-width: 1025px) {
  .search-section::after {
    position: absolute;
    z-index: 996;
    top: 0;
    right: 0;
    width: 17px;
    height: 100%;
    content: "";
    background-color: var(--color-body);
  }
}

/* RWD — Search function
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width: 480px) {
  .search-content {
    width: calc(100% - 30px);
  }

  .search-form input {
    font-size: 18px;
    padding: 15px;
  }

  .search-meta {
    font-size: 9px;
  }

  .search-meta,
  .search-results {
    padding-left: 15px;
  }

  .search-results a {
    font-size: 16px;
  }
}

@media (max-width: 1024px) {
  .search-close {
    display: none;
  }
}

/* --------------------------------------------------------------------------
   7.Post — Header
   -------------------------------------------------------------------------- */
.post-header.is-hero {
  margin-bottom: var(--section-gap-sm);
  -webkit-animation: slideTopLoop 0.8s ease;
  animation: slideTopLoop 0.8s ease;
}

.post-header.is-hero:not(.is-image) .item-content {
  padding-bottom: var(--section-gap-sm);
}

.post-header.is-page:not(.is-image) .item-title,
.post-header.is-page:not(.is-image) .item-excerpt {
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.post-header.is-page .item-excerpt {
  -moz-column-count: 1;
  column-count: 1;
}

/* RWD — Post — Header
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width: 480px) {
  .post-header.is-hero {
    margin-bottom: 0;
  }
}

@media (min-width: 481px) {
  .post-header.is-hero .item-container {
    align-items: center;
  }

  .post-header.is-hero .item-image {
    align-self: flex-start;
  }
}

@media (min-width: 481px) and (max-width: 768px) {
  .post-header.is-hero {
    margin-bottom: 5vh;
  }
}

@media (min-width: 769px) {
  .post-header.is-hero.is-image .item-container {
    min-height: 45vh;
  }

  .post-header.is-hero.is-image .item-content {
    transform: translateY(-4vh);
  }

  .post-header.is-page:not(.is-image) .item-excerpt {
    font-size: 16px;
  }
}

/* --------------------------------------------------------------------------
   8.Post — Content
   -------------------------------------------------------------------------- */
.post-content {
  font-family: var(--font-family-three);
  font-weight: var(--font-weight-three-regular);
  max-width: var(--max-width-post-wrap);
  margin: 0 auto var(--content-gap);
}

/* Margin elements
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-content h1:first-child,
.post-content h2:first-child,
.post-content h3:first-child,
.post-content h4:first-child,
.post-content h5:first-child,
.post-content h6:first-child,
.post-content p:first-child {
  margin-top: 0;
}

.post-content p,
.post-content iframe,
.post-content ol,
.post-content ul,
.post-content table,
.post-content p img {
  margin-top: 0;
  margin-bottom: var(--space-6);
}

.post-content hr {
  margin-top: var(--space-8);
  margin-bottom: var(--space-9);
}

.post-content blockquote {
  font-family: var(--font-family-two);
  font-weight: var(--font-weight-two-semi-bold);
  margin-top: var(--space-9);
  margin-bottom: var(--space-9);
}

.post-content .kg-card {
  width: 100%;
  margin-top: var(--space-7);
  margin-bottom: var(--space-8);
}

.post-content pre,
.post-content .kg-code-card {
  margin-top: 10px;
  margin-bottom: 10px;
}

.post-content p,
.post-content table,
.post-content hr,
.post-content blockquote,
.post-content pre,
.post-content p img,
.post-content .kg-card {
  margin-right: 0;
  margin-left: 0;
}

.post-content iframe,
.post-content .kg-embed-card > div,
.post-content .kg-embed-card > iframe,
.post-content .kg-embed-card > .fb-post,
.post-content .kg-embed-card > .twitter-tweet {
  margin-right: auto !important;
  margin-left: auto !important;
}

.post-content .kg-embed-card > .twitter-tweet > iframe {
  margin-bottom: 0;
}

/* Typography
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-content h1,
.post-content h2,
.post-content h3,
.post-content h4,
.post-content h5 {
  line-height: 1.4;
  margin-bottom: var(--space-4);
  margin-left: -1px;
}

.post-content h1 {
  font-size: clamp(30px, 4vw + 1rem, 55px);
  margin-top: var(--space-8);
}

.post-content h2 {
  font-size: clamp(24px, 3vw + 1rem, 41px);
  margin-top: 56px;
}

.post-content h3 {
  font-size: clamp(20px, 2.5vw + 0.5rem, 31px);
  margin-top: var(--space-7);
}

.post-content h4 {
  font-size: 24px;
  margin-top: var(--space-7);
}

.post-content h5 {
  font-size: 20px;
  margin-top: var(--space-7);
}

.post-content h6 {
  font-size: 11px;
  margin-top: 40px;
  letter-spacing: 2px;
  text-transform: uppercase;
}

/* Paragraph
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-content p {
  line-height: 1.5;
  position: relative;
}

/* Mark
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-content mark a {
  color: var(--color-font-two);
}

/* hr
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-content hr {
  position: relative;
  display: block;
  width: 80px;
  height: 1px;
  border: none;
  background-color: var(--color-three);
}

/* Mark
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-content mark {
  padding-bottom: 2px;
  background-color: var(--ghost-accent-color);
}

/* kbd
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-content kbd {
  font-size: 70%;
  display: inline-block;
  padding: 2px 8px 1px;
  border: 1px solid;
}

/* iframe
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-content iframe {
  display: block;
}

/* Blockquote
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-content blockquote,
.post-content blockquote p {
  line-height: 1.5;
}

.post-content blockquote p {
  margin: 0;
}

.post-content blockquote {
  font-size: 30px;
  position: relative;
  box-sizing: border-box;
  width: 100%;
  padding-left: 55px;
}

.post-content blockquote::before {
  font-family: var(--font-family-two);
  font-size: 120px;
  font-weight: var(--font-weight-two-bold);
  position: absolute;
  top: -20px;
  left: -15px;
  content: '"';
  color: var(--ghost-accent-color);
}

/* Alternative */
.post-content blockquote.kg-blockquote-alt {
  font-size: 36px;
  line-height: 1.4;
  box-sizing: border-box;
  padding: 6vh 3.3vw;
  text-align: center;
  border: 5px solid var(--ghost-accent-color);
}

.post-content blockquote.kg-blockquote-alt::before {
  display: none;
}

/* Links
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-content a {
  transition: border-bottom-color 0.2s ease;
  border-bottom: 1px solid;
}

.post-content a:hover {
  border-bottom-color: var(--ghost-accent-color);
}

.post-content h1 a,
.post-content h2 a,
.post-content h3 a,
.post-content h4 a,
.post-content h5 a,
.post-content blockquote a {
  transition: background-size 0.6s ease-out;
  border-bottom: none;
  background: linear-gradient(
      var(--ghost-accent-color),
      var(--ghost-accent-color)
    )
    no-repeat left 130%/80% 40%;
}

.post-content h1 a:hover,
.post-content h2 a:hover,
.post-content h3 a:hover,
.post-content h4 a:hover,
.post-content h5 a:hover,
.post-content blockquote a:hover {
  background-size: 97% 40%;
}

/* Disable 'border-bottom' */
.post-content .post-image-link,
.post-content sup a,
.post-content .footnote-backref,
.post-content .kg-bookmark-container,
.post-content .members-cta-button {
  border-bottom: none !important;
}

/* Lists
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-content ul,
.post-content ol {
  margin-right: 0;
  margin-left: 15px;
}

.post-content ul {
  padding-left: 15px;
  list-style: disc outside;
}

.post-content ol {
  padding-left: 20px;
}

.post-content ul li ul {
  list-style: circle outside;
}

.post-content ol,
.post-content ol li ol {
  list-style: decimal outside;
}

.post-content ul ul,
.post-content ul ol,
.post-content ol ol,
.post-content ol ul {
  font-size: 90%;
  margin: 15px 0;
}

.post-content li {
  margin-bottom: 10px;
}

.post-content dl dt {
  font-family: var(--font-family-two);
  font-weight: var(--font-weight-two-bold);
  float: left;
  clear: left;
  overflow: hidden;
  width: 180px;
  margin-bottom: 10px;
  text-align: right;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.post-content dl dd {
  margin-bottom: 10px;
  margin-left: 200px;
}

/* Table
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-content table {
  font-family: var(--font-family-four);
  font-size: 14px;
  display: table;
  width: 100%;
  max-width: 100%;
  border-spacing: 0;
  border-collapse: collapse;
  text-align: left;
  background-color: transparent;
}

.post-content th {
  border-top: 1px solid var(--color-three);
}

.post-content th,
.post-content td {
  font-weight: var(--font-weight-four-medium);
  display: table-cell;
  padding: 10px 12px;
  border-bottom: 1px solid var(--color-three);
}

.post-content th:first-child,
.post-content td:first-child {
  padding-left: 5px;
}

.post-content th:last-child,
.post-content td:last-child {
  padding-right: 5px;
}

/* Responsive */
.post-content .responsive-table {
  overflow-x: auto;
  word-break: normal;
}

/* Footnotes
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-content .footnotes {
  padding: 10px 0 0;
}

.post-content .footnote-ref {
  font-size: 65%;
}

.post-content .footnotes-list {
  padding-left: 20px;
  list-style: decimal;
}

.post-content .footnotes-sep {
  margin: 50px 0 10px;
}

.post-content .footnotes p,
.post-content .footnote-item {
  font-size: 14px;
  line-height: 1.3;
  margin-bottom: 10px;
}

/* Cardmas
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-content .kg-card,
.post-content .kg-card * {
  box-sizing: border-box;
}

.post-content .kg-button-card a,
.post-content .kg-nft-card a,
.post-content .kg-product-card-button {
  border-bottom: none;
}

.post-content .kg-audio-card,
.post-content .kg-audio-card .kg-audio-thumbnail,
.post-content .kg-callout-card,
.post-content .kg-file-card .kg-file-card-container,
.post-content .kg-file-card .kg-file-card-icon::before,
.post-content .kg-nft-card .kg-nft-card-container,
.post-content .kg-nft-card .kg-nft-image,
.post-content .kg-product-card .kg-product-card-container,
.post-content .kg-product-card .kg-product-card-image,
.post-content .kg-toggle-card,
.post-content .kg-cta-card {
  border-radius: 0;
}

.post-content .kg-product-card-container,
.post-content .kg-audio-card,
.post-content
  .kg-file-card
  :is(.kg-file-card-container, .kg-file-card-container:hover) {
  border: none;
  box-shadow: 0 25px 95px 5px var(--box-shadow);
}

/* Dark scheme for Product, Audio and File card */
.post-content .kg-product-card-container,
.post-content .kg-audio-card,
.post-content
  .kg-file-card
  :is(.kg-file-card-container, .kg-file-card-container:hover) {
  background-color: var(--color-four);
}

.post-content :is(.kg-product-card-container, .kg-product-card-container a),
.post-content .kg-audio-card,
.post-content .kg-file-card .kg-file-card-container {
  color: var(--color-font-one);
}

/* Audio card */
.post-content .kg-audio-card .kg-audio-volume-slider {
  width: 55px;
}

.post-content .kg-audio-card svg {
  fill: var(--color-font-one);
}

.post-content .kg-audio-card .kg-audio-playback-rate {
  color: var(--color-font-one);
}

/* Button card & Product card */
.post-content .kg-button-card a.kg-btn {
  position: relative;
  z-index: 0;
  height: 2.55em;
  padding: 1.3em 1.3em 1.25em;
  opacity: 1 !important;
}

.post-content .kg-button-card .kg-btn::before,
.post-content .kg-button-card .kg-btn::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
}

.post-content .kg-button-card .kg-btn::before {
  z-index: -1;
  background-color: var(--ghost-accent-color);
}

.post-content .kg-button-card .kg-btn::after {
  z-index: -2;
  transition-timing-function: ease;
  transition-duration: 0.15s;
  transition-property: top, left, right, bottom;
  background-color: var(--color-two);
}

.post-content .kg-button-card .kg-btn:hover::after {
  top: 6px;
  right: -6px;
  bottom: -6px;
  left: 6px;
}

.post-content .kg-button-card .kg-btn,
.post-content .kg-product-card .kg-product-card-button {
  color: var(--color-font-two);
}

.post-content .kg-button-card .kg-btn,
.post-content .kg-product-card .kg-product-card-button,
.post-content .kg-cta-card .kg-cta-button {
  text-decoration: none;
  border: none;
  border-radius: 0;
}

.post-content .kg-product-card-button:hover {
  opacity: 0.85;
}

.post-content .kg-product-card .kg-product-card-title {
  font-family: var(--font-family-two);
}

.post-content .kg-product-card .kg-product-card-button,
.post-content .kg-cta-card .kg-cta-button {
  font-size: 16px;
}

.post-content .kg-cta-card .kg-cta-button {
  font-weight: 600;
}

/* Callout card */
.post-content .kg-callout-card .kg-callout-emoji {
  flex-shrink: 0;
}

/* NFT card */
.post-content .kg-nft-card a {
  text-decoration: none;
}

.post-content .kg-nft-card .kg-nft-card-container {
  box-shadow: inset 0 0 0 1px rgb(124 139 154/25%);
}

/* Video card */
.post-content .kg-video-card.kg-width-full {
  right: 50%;
  left: 50%;
  width: calc(100vw - 55px - 55px);
  margin: 0 calc(-50vw + 55px);
}

/* RWD — Video card */
@media (min-width: 481px) and (max-width: 1024px) {
  .post-content .kg-video-card.kg-width-full {
    width: calc(100vw - 25px - 25px);
    margin-right: calc(-50vw + 25px);
    margin-left: calc(-50vw + 25px);
  }
}

@media (max-width: 480px) {
  .post-content .kg-video-card.kg-width-full {
    width: 100vw;
    margin-right: -50vw;
    margin-left: -50vw;
    border-radius: 0;
  }
}

@media (min-width: 1281px) {
  .post-content .kg-video-card.kg-width-wide {
    width: calc(100% + 180px + 180px);
    margin-left: -180px;
  }
}

@media (max-width: 1280px) and (min-width: 1025px) {
  .post-content .kg-video-card.kg-width-wide {
    position: relative;
    right: 50%;
    left: 50%;
    width: calc(100vw - 140px - 140px);
    margin-right: calc(-50vw + 140px);
    margin-left: calc(-50vw + 140px);
  }
}

/* Code
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-content code {
  font-size: 85%;
  padding: 2px 5px;
}

.post-content pre > code {
  display: block;
  padding: 15px;
  white-space: pre-wrap;
}

.post-content pre,
.post-content .kg-code-card {
  min-width: 100%;
}

.post-content .kg-code-card pre,
.post-content .kg-code-card code {
  margin: 0;
}

.post-content code,
.post-content p code {
  background-color: var(--color-one);
}

/* Image
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-content img,
.post-content p img {
  position: relative;
  max-width: 100%;
  height: auto;
}

.post-content .kg-image-card {
  line-height: 0;
}

.post-content .kg-image-card:not(.kg-width-full):not(.kg-width-wide) {
  text-align: center;
}

.post-content .kg-width-full img {
  position: relative;
  right: 50%;
  left: 50%;
  width: calc(100vw - 55px - 55px);
  margin: 0 calc(-50vw + 55px);
}

.post-content .kg-image-card.kg-width-wide img {
  width: 100%;
}

.post-content .kg-width-full img,
.post-content .kg-image-card.kg-width-wide:not(.kg-gallery-card) img {
  max-width: initial;
}

/* Gallery
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-content .kg-gallery-image img {
  display: block;
  width: 100%;
  margin: 0;
}

.post-content .kg-gallery-row {
  flex-direction: row;
  justify-content: center;
}

.post-content .kg-gallery-row,
.post-content .kg-gallery-container {
  display: flex;
}

.post-content .kg-gallery-container {
  position: relative;
  flex-direction: column;
  margin: 15px auto;
}

.post-content .kg-gallery-row:not(:first-of-type) {
  margin: 15px 0 0 0;
}

.post-content .kg-gallery-image:not(:first-of-type) {
  margin: 0 0 0 15px;
}

/* Bookmarks
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-content .kg-bookmark-container,
.post-content .kg-bookmark-content {
  display: flex;
}

.post-content .kg-bookmark-title,
.post-content .kg-bookmark-metadata {
  font-family: var(--font-family-two);
}

.post-content .kg-bookmark-description,
.post-content .kg-bookmark-metadata {
  display: -webkit-box;
  overflow-y: hidden;
  -webkit-box-orient: vertical;
}

.post-content .kg-bookmark-card + .kg-bookmark-card {
  margin-top: -35px;
}

.post-content .kg-bookmark-container {
  position: relative;
  z-index: 2;
  min-height: 140px;
  padding-bottom: 0;
  text-decoration: none;
  background-color: var(--color-four);
  box-shadow: 0 25px 95px 5px var(--box-shadow);
}

.post-content .kg-bookmark-content {
  align-items: flex-start;
  flex-direction: column;
  flex-grow: 1;
  justify-content: start;
  padding: 20px;
}

.post-content .kg-bookmark-title {
  font-size: 17px;
  font-weight: var(--font-weight-two-bold);
  line-height: 1.3;
}

.post-content .kg-bookmark-description {
  font-size: 13px;
  max-height: 40px;
  margin-top: 12px;
  -webkit-line-clamp: 2;
}

.post-content .kg-bookmark-metadata {
  font-size: 12px;
  font-weight: var(--font-weight-two-semi-bold);
  height: 20px;
  margin-top: 24px;
  -webkit-line-clamp: 1;
}

.post-content .kg-bookmark-metadata .kg-bookmark-icon {
  width: 20px;
  height: 20px;
  margin-right: 6px;
  margin-bottom: -5px;
  border-radius: 0;
}

.post-content .kg-bookmark-metadata span:nth-of-type(2)::before {
  margin-right: 6px;
  margin-left: 6px;
  content: "•";
}

.post-content .kg-bookmark-thumbnail {
  position: relative;
  min-width: 28%;
  max-height: 100%;
}

.post-content .kg-bookmark-thumbnail img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 0;
  -o-object-fit: cover;
  object-fit: cover;
}

/* These classes will be deprecated. Keep them for GScan validation. */
.post-content .kg-bookmark-author,
.post-content .kg-bookmark-publisher {
  display: inline;
}

/* Figcaption
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-content img ~ small,
.post-content p img ~ small,
.post-content figcaption {
  font-family: var(--font-family-two);
  font-size: 11px;
  font-weight: var(--font-weight-two-medium);
  line-height: 1.2;
  display: block;
  box-sizing: border-box;
  width: 100%;
  text-align: center;
  letter-spacing: 0.5px;
}

.post-content figcaption {
  margin-top: var(--space-4);
}

.post-content img ~ small,
.post-content p img ~ small {
  position: absolute;
  right: 0;
  bottom: 25px;
  left: 0;
  margin: 0 auto;
}

/* Teaser
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-content .members-teaser {
  position: relative;
  margin-bottom: 20px;
}

.post-content .members-teaser::after {
  position: absolute;
  right: 50%;
  bottom: -20px;
  left: 50%;
  width: calc(100vw - 40px);
  height: 80%;
  max-height: 340px;
  margin: 0 calc(-50vw + 20px);
  content: "";
  pointer-events: none;
  background-color: var(--color-body);
  -webkit-mask-image: linear-gradient(
    transparent,
    rgba(0, 0, 0, 0.013) 8.1%,
    rgba(0, 0, 0, 0.049) 15.5%,
    rgba(0, 0, 0, 0.104) 22.5%,
    rgba(0, 0, 0, 0.175) 29%,
    rgba(0, 0, 0, 0.259) 35.3%,
    rgba(0, 0, 0, 0.352) 41.2%,
    rgba(0, 0, 0, 0.45) 47.1%,
    rgba(0, 0, 0, 0.55) 52.9%,
    rgba(0, 0, 0, 0.648) 58.8%,
    rgba(0, 0, 0, 0.741) 64.7%,
    rgba(0, 0, 0, 0.825) 71%,
    rgba(0, 0, 0, 0.896) 77.5%,
    rgba(0, 0, 0, 0.951) 84.5%,
    rgba(0, 0, 0, 0.987) 91.9%,
    black
  );
  mask-image: linear-gradient(
    transparent,
    rgba(0, 0, 0, 0.013) 8.1%,
    rgba(0, 0, 0, 0.049) 15.5%,
    rgba(0, 0, 0, 0.104) 22.5%,
    rgba(0, 0, 0, 0.175) 29%,
    rgba(0, 0, 0, 0.259) 35.3%,
    rgba(0, 0, 0, 0.352) 41.2%,
    rgba(0, 0, 0, 0.45) 47.1%,
    rgba(0, 0, 0, 0.55) 52.9%,
    rgba(0, 0, 0, 0.648) 58.8%,
    rgba(0, 0, 0, 0.741) 64.7%,
    rgba(0, 0, 0, 0.825) 71%,
    rgba(0, 0, 0, 0.896) 77.5%,
    rgba(0, 0, 0, 0.951) 84.5%,
    rgba(0, 0, 0, 0.987) 91.9%,
    black
  );
}

/* CTA
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-content .members-cta {
  box-sizing: border-box;
  width: 100%;
  margin: 6vh auto 10vh;
  padding: 40px 60px;
  text-align: center;
  background-color: var(--color-four);
  box-shadow: 0 25px 95px 5px var(--box-shadow);
}

.post-content .members-cta h2 {
  margin: 20px auto 40px;
}

/* Beta editor
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-content .kg-width-full + .kg-width-full {
  margin-top: 0;
}

.post-content:first-child,
.post-content:first-child .kg-width-full:first-child,
.post-content .kg-width-full:not(.kg-width-full.kg-card-hascaption) {
  margin-bottom: 0;
}

.post-content
  .kg-width-full:not(.kg-width-full.kg-card-hascaption)
  + :not(.kg-width-full) {
  margin-top: 5vh !important;
}

.post-content:first-child,
.post-content:first-child .kg-width-full:first-child {
  margin-top: 0;
}

.post-content .kg-signup-card,
.post-content .kg-header-card {
  overflow: hidden;
}

.post-content .kg-signup-card-image,
.post-content .kg-header-card-image {
  right: 0 !important;
  left: 0 !important;
  display: block;
  margin: 0 !important;
}

/* Signup card & Header card 'v2' */
.post-content .kg-signup-card.kg-width-full,
.post-content .kg-header-card.kg-v2.kg-width-full {
  position: relative;
  right: 50%;
  left: 50%;
  width: calc(100vw - 55px - 55px);
  margin-right: calc(-50vw + 55px);
  margin-left: calc(-50vw + 55px);
}

.post-content .kg-signup-card.kg-width-regular,
.post-content .kg-signup-card.kg-width-wide,
.post-content .kg-header-card.kg-v2.kg-width-regular,
.post-content .kg-header-card.kg-v2.kg-width-wide {
  position: relative;
  right: 0;
  left: 0;
  overflow: hidden;
  width: 100%;
  margin-left: 0;
}

.post-content .kg-signup-card.kg-width-full.kg-content-wide,
.post-content .kg-header-card.kg-v2.kg-width-full.kg-content-wide {
  padding-right: 4vw;
  padding-left: 4vw;
}

.post-content
  .kg-signup-card.kg-width-full.kg-content-wide
  .kg-signup-card-content,
.post-content
  .kg-header-card.kg-v2.kg-width-full.kg-content-wide
  .kg-header-card-content {
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
}

.post-content .kg-signup-card.kg-width-full .kg-signup-card-image,
.post-content .kg-header-card.kg-v2.kg-width-full .kg-header-card-image {
  width: 100%;
}

.post-content .kg-header-card.kg-v2.kg-layout-split {
  display: -webkit-box;
}

.post-content div.kg-signup-card h2,
.post-content div.kg-header-card.kg-v2 h2 {
  font-family: var(--font-family-one);
  font-weight: var(--font-weight-one-bold);
}

.post-content .kg-signup-card h3.kg-signup-card-subheading,
.post-content .kg-header-card.kg-v2 h3.kg-header-card-subheading,
.post-content div.kg-signup-card .kg-signup-card-success {
  font-family: var(--font-family-three);
  font-weight: var(--font-weight-three-regular);
  line-height: 1.2;
}

.post-content div.kg-signup-card .kg-signup-card-success {
  font-size: clamp(1.05em, 2vw, 2.4rem);
}

.post-content .kg-signup-card h2 + h3.kg-signup-card-subheading,
.post-content .kg-header-card.kg-v2 h2 + h3.kg-header-card-subheading {
  margin: 1em 0 0;
}

.post-content .kg-signup-card .kg-signup-card-fields {
  padding: 0.3em;
  border: none;
  border-radius: 0;
}

.post-content .kg-signup-card .kg-signup-card-fields,
.post-content .kg-signup-card-input {
  background-color: var(--color-body);
}

.post-content div.kg-signup-card .kg-signup-card-button,
.post-content .kg-header-card.kg-v2 .kg-header-card-button {
  padding: 1.3em 1.8em;
  cursor: pointer;
}

.post-content div.kg-signup-card .kg-signup-card-button,
.post-content div.kg-signup-card .kg-signup-card-input,
.post-content div.kg-header-card.kg-v2 .kg-header-card-button {
  font-size: 18px;
  border-radius: 0;
}

.post-content .kg-signup-card-input {
  line-height: 1;
  overflow: hidden;
  align-self: center;
  white-space: nowrap;
  text-overflow: ellipsis;
  color: var(--color-font-one);
}

.post-content .kg-signup-card-input::-moz-placeholder {
  opacity: 0.6;
}

.post-content .kg-signup-card-input::placeholder {
  opacity: 0.6;
}

.post-content div.kg-signup-card .kg-signup-card-disclaimer,
.post-content div.kg-signup-card .kg-signup-card-error {
  font-size: 12px;
  margin: 1vh 0 0;
}

/* RWD — Beta editor */
@media (min-width: 1281px) {
  .post-content .kg-signup-card.kg-width-wide,
  .post-content .kg-header-card.kg-v2.kg-width-wide {
    width: calc(100% + 180px + 180px);
    margin-left: -180px;
  }
}

@media (max-width: 1280px) and (min-width: 1025px) {
  .post-content .kg-signup-card.kg-width-wide,
  .post-content .kg-header-card.kg-v2.kg-width-wide {
    position: relative;
    right: 50%;
    left: 50%;
    width: calc(100vw - 140px - 140px);
    margin-right: calc(-50vw + 140px);
    margin-left: calc(-50vw + 140px);
  }
}

@media (max-width: 480px) {
  .post-content div.kg-signup-card .kg-signup-card-button,
  .post-content div.kg-signup-card .kg-signup-card-input,
  .post-content div.kg-header-card.kg-v2 .kg-header-card-button {
    font-size: 16px;
  }
}

@media (max-width: 1024px) {
  .post-content .kg-signup-card.kg-width-full,
  .post-content .kg-header-card.kg-v2.kg-width-full {
    width: 100vw;
    margin-right: -50vw;
    margin-left: -50vw;
  }
}

/* RWD — Post content
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width: 320px) {
  .post-content .kg-bookmark-container {
    flex-direction: column;
  }

  .post-content .kg-bookmark-content {
    order: 2;
    padding: 15px;
  }

  .post-content .kg-bookmark-thumbnail {
    order: 1;
    width: 100%;
    min-height: 120px;
  }
}

@media (max-width: 480px) {
  .post-content {
    font-size: 17px;
  }

  .post-content p {
    line-height: 1.7;
  }

  .post-content blockquote {
    padding-left: 32px;
  }

  .post-content blockquote::before {
    font-size: 60px;
    top: -8px;
  }

  .post-content blockquote.kg-blockquote-alt {
    font-size: 22px;
  }

  .post-content figcaption {
    margin-top: 10px;
  }

  .post-content .kg-bookmark-title {
    font-size: 14px;
  }

  .post-content .kg-bookmark-description {
    font-size: 12px;
  }

  .post-content .members-cta {
    margin: 0;
    padding: 25px 15px;
  }

  .post-content .members-cta h2 {
    font-size: 25px;
    margin-top: 10px;
    margin-bottom: 20px;
  }

  .post-content .members-teaser::after {
    width: 100vw;
    margin-right: -50vw;
    margin-left: -50vw;
  }
}

@media (min-width: 481px) and (max-width: 768px) {
  .post-content blockquote {
    padding-left: 43px;
  }

  .post-content blockquote::before {
    font-size: 80px;
    top: -12px;
  }

  .post-content blockquote.kg-blockquote-alt {
    font-size: 26px;
  }

  .post-content .members-cta {
    padding: 30px;
  }
}

@media (max-width: 768px) {
  .post-content h1 {
    margin-top: 50px;
  }

  .post-content h2 {
    margin-top: 45px;
  }

  .post-content h3 {
    margin-top: 40px;
  }

  .post-content h4 {
    font-size: 19px;
    margin-top: 35px;
  }

  .post-content h5 {
    font-size: 16px;
  }

  .post-content h5,
  .post-content h6 {
    margin-top: 30px;
  }

  .post-content blockquote {
    font-size: 20px;
  }

  .post-content blockquote.kg-blockquote-alt {
    padding-top: 4vh;
    padding-bottom: 4vh;
    border-width: 4px;
  }

  .post-content table {
    font-size: 14px;
  }

  .post-content p,
  .post-content iframe,
  .post-content ol,
  .post-content ul,
  .post-content table {
    margin-bottom: 20px;
  }

  .post-content hr,
  .post-content blockquote {
    margin-top: 40px;
  }

  .post-content .kg-card {
    margin-top: 30px;
  }

  .post-content .kg-bookmark-card + .kg-bookmark-card {
    margin-top: -20px;
  }

  .post-content hr,
  .post-content blockquote,
  .post-content .kg-card {
    margin-bottom: 40px;
  }

  .post-content p img {
    margin-bottom: 5px;
  }

  .post-content img ~ small,
  .post-content p img ~ small {
    bottom: -10px;
  }
}

@media (min-width: 769px) and (max-width: 1280px) {
  .post-content blockquote::before {
    font-size: 100px;
    top: -15px;
  }
}

@media (max-width: 1024px) {
  .post-content .members-cta {
    margin-top: 0;
  }
}

@media (max-width: 1280px) {
  .post-content blockquote::before {
    left: -5px;
  }
}

/* RWD — Images
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width: 480px) {
  .post-content .kg-width-full img {
    width: 100vw;
    margin-right: -50vw;
    margin-left: -50vw;
    border-radius: 0;
  }

  .post-content .kg-gallery-card .kg-gallery-container {
    margin-bottom: 5px;
  }

  .post-content .kg-gallery-card .kg-gallery-container,
  .post-content .kg-gallery-card .kg-gallery-row:not(:first-of-type) {
    margin-top: 5px;
  }

  .post-content .kg-gallery-card .kg-gallery-image:not(:first-of-type) {
    margin-left: 5px;
  }
}

@media (min-width: 481px) and (max-width: 1024px) {
  .post-content .kg-gallery-container {
    margin-bottom: 10px;
  }

  .post-content .kg-gallery-container,
  .post-content .kg-gallery-row:not(:first-of-type) {
    margin-top: 10px;
  }

  .post-content .kg-gallery-image:not(:first-of-type) {
    margin-left: 10px;
  }

  .post-content .kg-width-full img {
    width: calc(100vw - 25px - 25px);
    margin-right: calc(-50vw + 25px);
    margin-left: calc(-50vw + 25px);
  }
}

@media (min-width: 1025px) and (max-width: 1280px) {
  .post-content .kg-image-card.kg-width-wide img,
  .post-content .kg-gallery-container {
    position: relative;
    right: 50%;
    left: 50%;
    width: calc(100vw - 140px - 140px);
    margin-right: calc(-50vw + 140px);
    margin-left: calc(-50vw + 140px);
  }
}

@media (min-width: 1281px) {
  .post-content .kg-image-card.kg-width-wide img,
  .post-content .kg-gallery-container {
    width: calc(100% + 180px + 180px);
    margin-left: -180px;
  }
}

/* --------------------------------------------------------------------------
   9.Post — Share
   -------------------------------------------------------------------------- */
.post-share-section {
  width: 100%;
  padding-top: var(--space-7);
}

.post-share-wrap {
  position: relative;
  display: inline-flex;
  justify-content: center;
  width: 100%;
}

.post-share-wrap a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 85px;
  height: 64px;
  pointer-events: none;
  border: none;
}

.post-share-wrap a:first-of-type {
  padding-left: 10px;
  border-left: var(--border) var(--color-three);
}

.post-share-wrap a:last-of-type {
  padding-right: 10px;
  border-right: var(--border) var(--color-three);
}

.post-share-wrap svg {
  width: 22px;
  height: 22px;
  transition: fill 0.15s ease;
  pointer-events: auto;
  fill: var(--color-font-one);
}

.post-share-wrap a:hover svg {
  fill: var(--ghost-accent-color);
}

/* Copy link
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-share-wrap + input {
  display: block;
  cursor: default;
  opacity: 0;
  color: transparent;
}

.post-share-link {
  cursor: pointer;
}

.post-share-link svg {
  width: 26px;
  height: 26px;
}

.post-share-link + small {
  font-family: var(--font-family-four);
  font-size: 13px;
  font-weight: var(--font-weight-four-medium);
  position: absolute;
  bottom: -40px;
  left: 0;
  width: 100%;
  text-align: center;
  opacity: 0;
}

.post-share-link:not(:active) + small {
  transition: opacity 10s step-end;
}

.post-share-link:active + small {
  opacity: 1;
}

/* RWD — Post share
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width: 480px) {
  .post-share-wrap a {
    width: 50px;
    height: 50px;
  }

  .post-share-wrap svg {
    width: 20px;
    height: 20px;
  }

  .post-share-link svg {
    width: 22px;
    height: 22px;
  }
}

/* --------------------------------------------------------------------------
   10.Post — Navigation
   -------------------------------------------------------------------------- */
.nextprev-section,
.nextprev-section section {
  display: flex;
}

.nextprev-section {
  width: 100%;
  margin: var(--section-gap) auto var(--section-gap);
  border-top: var(--border) var(--color-three);
  border-bottom: var(--border) var(--color-three);
}

.nextprev-section section {
  flex: 1 0 50%;
  box-sizing: border-box;
  margin-top: var(--space-7);
  margin-bottom: var(--space-7);
}

.nextprev-section section > div {
  align-self: center;
  max-width: 400px;
}

.nextprev-newer {
  padding-right: 20px;
}

.nextprev-older {
  justify-content: flex-end;
  padding-left: 20px;
  text-align: right;
}

/* Heading
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.nextprev-section small {
  font-family: var(--font-family-four);
  font-size: 13px;
  font-weight: var(--font-weight-four-medium);
}

/* Title
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.nextprev-section h3 {
  font-size: 24px;
  display: block;
  margin-top: 10px;
  margin-bottom: 0;
}

/* Image
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.nextprev-newer .nextprev-image {
  margin-right: 20px;
  margin-left: 10px;
}

.nextprev-older .nextprev-image {
  margin-left: 30px;
}

.nextprev-image {
  position: relative;
  flex: 0 0 120px;
  transform: translateY(5px);
}

.nextprev-image,
.nextprev-image img {
  width: 120px;
  min-height: 120px;
}

.nextprev-image img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.nextprev-image::after {
  position: absolute;
  z-index: -1;
  top: -10px;
  right: 10px;
  bottom: 10px;
  left: -10px;
  content: "";
  pointer-events: none;
  background-color: var(--bg-color-small-image);
}

/* RWD — Post — Navigation
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width: 480px) {
  .nextprev-section {
    margin-bottom: 10vh;
  }

  .nextprev-section section {
    margin-top: 30px;
    margin-bottom: 30px;
    padding-right: 0;
    padding-left: 0;
  }

  .nextprev-section h3 {
    font-size: 16px;
  }

  .nextprev-newer .nextprev-image {
    margin-right: 12px;
    margin-left: 6px;
  }

  .nextprev-older .nextprev-image {
    margin-left: 18px;
  }

  .nextprev-image {
    flex-basis: 85px;
  }

  .nextprev-image,
  .nextprev-image img {
    width: 85px;
    min-height: 85px;
  }

  .nextprev-image::after {
    top: -6px;
    right: 6px;
    bottom: 6px;
    left: -6px;
  }
}

@media (min-width: 481px) and (max-width: 768px) {
  .nextprev-section h3 {
    font-size: 20px;
  }
}

@media (max-width: 768px) {
  .nextprev-section {
    flex-wrap: wrap;
  }

  .nextprev-section section {
    flex-basis: 100%;
  }

  .nextprev-section section + section {
    margin-top: 0;
  }
}

@media (min-width: 769px) and (max-width: 1024px) {
  .nextprev-section h3 {
    font-size: 18px;
  }
}

/* --------------------------------------------------------------------------
   11.Post — Comments
   -------------------------------------------------------------------------- */
.comments-wrap {
  max-width: var(--max-width-post-wrap);
  margin: 0 auto;
}

.comments-wrap > div:first-of-type {
  margin-top: var(--section-gap);
}

.comments-wrap > div:last-of-type {
  margin-bottom: var(--section-gap);
}

/* RWD — Comments
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width: 768px) {
  .comments-wrap > div:first-of-type {
    margin-top: 10vh;
  }

  .comments-wrap > div:last-of-type {
    margin-bottom: 10vh;
  }
}

/* --------------------------------------------------------------------------
   12.Author & Tag page
   -------------------------------------------------------------------------- */
.archive-section {
  width: 100%;
  margin: var(--section-gap-sm) auto var(--section-gap-sm);
  text-align: center;
}

.archive-details,
.archive-description {
  margin: var(--space-5) auto 0;
}

/* Profile & Cover image
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.archive-image img {
  width: 200px;
  height: 200px;
  margin-bottom: 2vh;
  padding: 10px;
  border: var(--border) var(--color-three);
  border-radius: 100%;
}

/* Title
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.archive-title {
  font-size: 40px;
  margin: 0;
}

/* Location & Counter
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.archive-details {
  font-family: var(--font-family-four);
  font-size: 13px;
  font-weight: var(--font-weight-four-medium);
}

/* Author social
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.archive-icons {
  margin-top: var(--space-5);
}

.archive-icons svg {
  width: 19px;
  height: 19px;
  margin: 0 20px;
  transition: fill 0.15s ease;
  fill: var(--color-font-one);
}

.archive-icons svg:hover {
  fill: var(--ghost-accent-color);
}

/* Description
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.archive-description {
  font-family: var(--font-family-two);
  font-size: 16px;
  font-weight: var(--font-weight-two-medium);
  line-height: 1.6;
  max-width: 680px;
}

/* RWD — Author & Tag page
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width: 480px) {
  .archive-image img {
    padding: 6px;
  }

  .archive-title {
    font-size: 25px;
  }

  .archive-description {
    font-size: 14px;
  }
}

@media (min-width: 481px) and (max-width: 768px) {
  .archive-title {
    font-size: 30px;
  }
}

@media (max-width: 768px) {
  .archive-image img {
    width: 160px;
    height: 160px;
  }
}

@media (max-width: 1024px) {
  .archive-section {
    margin-top: 3vh;
  }
}

/* --------------------------------------------------------------------------
   13.Subscribe form
   -------------------------------------------------------------------------- */
.subscribe-section {
  margin-top: var(--section-gap-sm);
}

.subscribe-wrap,
.subscribe-form {
  display: flex;
}

.subscribe-form,
.subscribe-form button {
  position: relative;
}

.subscribe-wrap {
  align-items: center;
  flex-wrap: nowrap;
  margin: 0 auto;
  padding: 0 0 var(--space-7);
}

.subscribe-wrap h3 {
  font-size: 35px;
  line-height: 1.1;
  flex: 1 1 50%;
  box-sizing: border-box;
  min-width: 280px;
  margin: 0;
  padding: var(--space-5) var(--space-4) var(--space-5) 0;
}

.subscribe-form {
  flex: 0 0 auto;
  height: 60px;
}

.subscribe-form button,
.subscribe-form input {
  font-size: 16px;
  padding: 0 20px;
}

.subscribe-form button {
  flex: 0 0 auto;
  cursor: pointer;
  color: var(--color-body);
  border: none;
  outline: 0;
  background-color: var(--ghost-accent-color);
  box-shadow: none;
}

.subscribe-form button::after {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.subscribe-form input {
  display: block;
  flex: 1 1 auto;
  width: 250px;
  transition: width 0.3s ease 0.2s;
  word-break: normal;
  color: var(--color-body);
  background-color: var(--color-two);
}

.subscribe-form input:focus {
  width: 270px;
}

.subscribe-form input::-webkit-input-placeholder {
  color: var(--color-body);
}

.subscribe-form input::-moz-placeholder {
  color: var(--color-body);
}

.subscribe-form input::-ms-input-placeholder {
  color: var(--color-body);
}

.subscribe-form input::placeholder {
  color: var(--color-body);
}

/* Alert
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.subscribe-alert small {
  font-family: var(--font-family-four);
  font-size: 12px;
  font-weight: var(--font-weight-four-medium);
  line-height: 1.1;
  position: absolute;
  right: 0;
  bottom: -38px;
  left: 20px;
  display: none;
  width: 100%;
  margin: 0;
  padding: 0;
  color: var(--color-font-one);
}

.subscribe-form.loading .alert-loading,
.subscribe-form.success .alert-success,
.subscribe-form.error .alert-error {
  display: block;
}

/* RWD — Subscribe form
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width: 480px) {
  .subscribe-wrap h3 {
    font-size: 28px;
  }

  .subscribe-form {
    height: 50px;
  }

  .subscribe-alert small {
    left: 0;
  }
}

@media (max-width: 768px) {
  .subscribe-wrap {
    flex-wrap: wrap;
  }

  .subscribe-wrap h3 {
    flex: 1 1 100%;
  }

  .subscribe-form {
    width: 100%;
  }

  .subscribe-form input,
  .subscribe-form input:focus {
    flex: 1 1 auto;
    width: auto;
  }
}

@media (min-width: 769px) and (max-width: 1024px) {
  .subscribe-form input,
  .subscribe-form input:focus {
    width: 180px;
  }
}

/* --------------------------------------------------------------------------
   14.Footer
   -------------------------------------------------------------------------- */
.footer-section {
  padding-top: var(--section-gap-sm);
  padding-bottom: var(--section-gap-sm);
  border-top: var(--border) var(--color-three);
}

.footer-wrap,
.footer-nav {
  display: flex;
}

.footer-wrap {
  align-items: flex-start;
  width: 100%;
  margin: 0 auto;
}

.footer-wrap,
.footer-data {
  box-sizing: border-box;
}

.footer-description,
.footer-copyright {
  font-family: var(--font-family-four);
  font-size: 13px;
  font-weight: var(--font-weight-four-medium);
}

.footer-logo,
.footer-description,
.footer-icons {
  max-width: 350px;
}

/* Data
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.footer-data {
  flex: 999 0 30%;
  padding-right: 5%;
}

/* Logo
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.footer-logo {
  margin-bottom: var(--space-4);
}

.footer-logo .is-title {
  font-family: var(--font-family-one);
  font-size: 25px;
  font-weight: var(--font-weight-one-bold);
}

.footer-logo .is-image img {
  max-width: 150px;
  max-height: var(--height-logo-footer);
  aspect-ratio: attr(width) / attr(height);
}

/* Description
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.footer-description {
  margin: 0;
}

/* Social icons
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.footer-icons {
  margin-top: var(--space-6);
  margin-bottom: var(--space-6);
}

.footer-icons a {
  line-height: 1;
  display: inline-block;
  width: 32px;
  height: 32px;
  margin: 0 var(--space-2) var(--space-2) 0;
  padding: 0;
}

.footer-icons svg {
  width: 19px;
  height: 19px;
  transition: fill 0.15s ease;
  fill: var(--color-font-one);
}

.footer-icons a:hover svg {
  fill: var(--ghost-accent-color);
}

/* Navigation
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.footer-nav {
  flex: 1 0 auto;
}

.footer-nav-column {
  width: 150px;
  margin-bottom: var(--space-6);
}

.footer-nav-column ul {
  margin: 0;
  padding-left: 15%;
}

.footer-nav-column li {
  font-family: var(--font-family-two);
  font-size: 13px;
  font-weight: var(--font-weight-two-semi-bold);
  line-height: 2;
  margin-bottom: var(--space-4);
  list-style: none;
}

/* Copyright
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.footer-copyright {
  display: block;
  height: 25px;
  margin-top: var(--space-6);
  padding: 0;
}

/* RWD — Footer
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width: 480px) {
  .footer-nav-column {
    flex: 1 0 50%;
  }

  .footer-logo .is-image img {
    max-height: var(--height-logo-mobile-footer);
  }
}

@media (min-width: 481px) and (max-width: 768px) {
  .footer-nav-column {
    flex-basis: 25%;
  }
}

@media (max-width: 768px) {
  .footer-data {
    flex-basis: 100%;
  }

  .footer-nav {
    flex-wrap: wrap;
    max-width: 100%;
  }

  .footer-nav-column {
    width: 100%;
  }

  .footer-nav-column ul {
    padding-right: 20px;
    padding-left: 0;
  }
}

@media (min-width: 769px) and (max-width: 1024px) {
  .footer-nav-column {
    width: 118px;
  }
}

@media (max-width: 1024px) {
  .footer-wrap {
    flex-wrap: wrap;
  }

  .footer-icons a {
    width: 24px;
    height: 24px;
  }

  .footer-icons svg {
    width: 18px;
    height: 18px;
  }

  .footer-nav-column li {
    font-size: 12px;
  }
}

/* --------------------------------------------------------------------------
   15.Custom — Pages
   -------------------------------------------------------------------------- */
.custom-wrap {
  box-sizing: border-box;
  width: 100%;
  min-height: 100%;
}

.custom-wrap,
.custom-container,
.custom-content {
  display: flex;
}

.custom-container {
  flex-direction: column;
  flex-grow: 1;
}

.custom-content {
  align-items: center;
  flex: 1 0 auto;
  width: 100%;
  max-width: 470px;
  margin: 0 auto var(--section-gap);
}

.custom-logo,
.custom-content,
.custom-content input,
.custom-content textarea {
  box-sizing: border-box;
}

/* Image
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.custom-image {
  width: 450px;
}

/* Logo
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.custom-logo {
  width: 100%;
  max-width: 470px;
  margin: var(--section-gap-sm) auto;
}

.custom-logo .is-image {
  line-height: 0;
}

.custom-logo .is-image img {
  max-height: var(--height-logo-header);
  aspect-ratio: attr(width) / attr(height);
}

.custom-logo .is-image,
.custom-logo .is-title {
  width: 100%;
}

.custom-logo .is-title {
  font-family: var(--font-family-one);
  font-size: 30px;
  font-weight: var(--font-weight-one-bold);
  letter-spacing: -0.5px;
}

/* Form
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.custom-content form {
  position: relative;
  width: 100%;
  margin-bottom: 5vh;
}

.custom-content h1,
.custom-content h2 {
  font-size: 30px;
  margin: 0 0 4vh -2px;
  padding: 0;
}

.custom-content label {
  font-family: var(--font-family-four);
  font-size: 13px;
  font-weight: var(--font-weight-four-medium);
  display: block;
}

.custom-content input,
.custom-content textarea {
  font-size: 16px;
  display: block;
  width: 100%;
  margin: 10px 0 3vh;
  padding-top: 15px;
  padding-right: 15px;
  padding-bottom: 15px;
}

.custom-content input {
  padding-left: 15px;
  transition: background-color 0.15s ease;
  word-break: break-all;
  background-color: var(--color-one);
}

.custom-content input:focus {
  background-color: var(--ghost-accent-color);
}

.custom-content textarea {
  min-height: 110px;
  padding-left: 11px;
  resize: vertical;
  transition: border-color 0.15s ease;
  border: 4px solid var(--color-one);
}

.custom-content textarea:focus {
  border-color: var(--ghost-accent-color);
}

/* Alert
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.custom-content .alert-loading,
.custom-content .alert-error {
  font-family: var(--font-family-four);
  font-size: 12px;
  font-weight: var(--font-weight-four-medium);
  position: absolute;
  bottom: -60px;
  left: 0;
  display: none;
}

.custom-content form.loading .alert-loading,
.custom-content form.error .alert-error {
  display: block;
}

/* Sucess
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.custom-content form.success,
.custom-content form + .alert-success {
  display: none;
}

.custom-content form.success + .alert-success {
  display: inline-block;
}

.custom-content .alert-success p {
  font-size: 17px;
  margin-top: -2vh;
  margin-bottom: 4vh;
}

/* RWD — Custom pages
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width: 480px) {
  .custom-content h1,
  .custom-content h2 {
    font-size: 20px;
  }

  .custom-logo {
    display: flex;
    align-items: center;
    min-height: 60px;
    margin-top: 20px;
  }

  .custom-logo .is-image img {
    max-height: var(--height-logo-mobile-header);
  }
}

@media (max-width: 768px) {
  .custom-logo .is-title {
    font-size: 25px;
  }
}

@media (min-width: 769px) and (max-width: 1024px) {
  .custom-logo .is-title {
    font-size: 28px;
  }
}

@media (max-width: 1024px) {
  .custom-wrap {
    padding-right: 6%;
    padding-left: 6%;
  }

  .custom-image {
    display: none;
  }
}

/* --------------------------------------------------------------------------
   16.Custom — Error page
   -------------------------------------------------------------------------- */
.custom-error .error-message {
  width: 100%;
  text-align: center;
}

.custom-error .custom-content {
  margin-top: var(--section-gap);
  margin-bottom: var(--section-gap);
}

.custom-error h1 {
  font-size: 175px;
  line-height: 1;
  margin: 0;
}

.custom-error p {
  font-family: var(--font-family-two);
  font-size: 25px;
  font-weight: var(--font-weight-two-medium);
  margin-top: 20px;
  margin-bottom: 40px;
}

/* RWD — Error page
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width: 480px) {
  .custom-error .custom-content {
    margin-top: 7vh;
    margin-bottom: 7vh;
  }

  .custom-error h1 {
    font-size: 100px;
  }

  .custom-error p {
    font-size: 20px;
    margin-bottom: 20px;
  }
}

/* --------------------------------------------------------------------------
   17.Custom — Tags & Authors page
   -------------------------------------------------------------------------- */
.custom-elements-wrap {
  justify-content: center;
  margin-top: var(--section-gap-sm);
  margin-bottom: var(--section-gap-sm);
}

/* Item
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.custom-element {
  flex: 1 0 33.333%;
  box-sizing: border-box;
  max-width: 400px;
  padding: 0 30px 5vh;
  text-align: center;
}

/* Heading
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.custom-element-heading {
  display: none;
}

/* Image
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.custom-element > a {
  display: inline-flex;
}

.custom-element img,
.custom-element .no-image {
  width: 200px;
  height: 200px;
  margin-bottom: 2vh;
  padding: 10px;
  border: var(--border) var(--color-three);
}

.custom-element img,
.custom-element .no-image {
  border-radius: 100%;
}

.custom-element .no-image {
  position: relative;
  align-items: center;
  justify-content: center;
  margin-right: auto;
  margin-left: auto;
}

.custom-element .no-image svg {
  position: absolute;
  top: calc(50% - 17px);
  left: calc(50% - 17px);
  width: 34px;
  height: 34px;
  opacity: 0.8;
  fill: var(--color-three);
}

/* Title
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.custom-element h2 {
  font-size: 30px;
  line-height: 1.3;
  margin: 0 0 1vh;
}

/* Counter
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.custom-element span {
  font-family: var(--font-family-four);
  font-size: 13px;
  font-weight: var(--font-weight-four-medium);
  display: block;
}

/* RWD — Tags & Authors page
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width: 480px) {
  .custom-element {
    max-width: 120px;
  }

  .custom-element img,
  .custom-element .no-image {
    width: 78px;
    height: 78px;
    padding: 6px;
  }
}

@media (min-width: 481px) and (max-width: 768px) {
  .custom-element {
    max-width: 200px;
  }

  .custom-element img,
  .custom-element .no-image {
    width: 130px;
    height: 130px;
  }
}

@media (max-width: 768px) {
  .custom-element {
    padding-right: 12px;
    padding-bottom: 25px;
    padding-left: 12px;
  }

  .custom-element h2 {
    font-size: 16px;
  }
}

@media (min-width: 769px) and (max-width: 1024px) {
  .custom-element {
    max-width: 300px;
  }

  .custom-element img,
  .custom-element .no-image {
    width: 170px;
    height: 170px;
  }

  .custom-element h2 {
    font-size: 20px;
  }
}

@media (min-width: 769px) {
  .custom-element-heading {
    display: block;
  }

  .custom-element.bottom {
    flex-basis: 20%;
    max-width: 210px;
    padding-bottom: 4vh;
  }

  .custom-element.bottom img,
  .custom-element.bottom .no-image {
    width: 130px;
    height: 130px;
  }

  .custom-element.bottom h2 {
    font-size: 20px;
  }

  .custom-element.bottom span {
    display: none;
  }
}

@media (max-width: 1024px) {
  .custom-elements-wrap {
    margin-top: 3vh;
  }
}

/* --------------------------------------------------------------------------
   18.Custom — Membership page
   -------------------------------------------------------------------------- */

/* Description
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post-header.is-hero.is-image .membership-description {
  max-width: 600px;
  margin-top: 15px;
}

.post-header.is-hero:not(.is-image) .membership-description {
  max-width: 800px;
  margin: 15px auto 0;
  text-align: center;
}

.post-header.is-hero.is-page .membership-description p {
  font-family: var(--font-family-four);
  font-size: 22px;
  font-weight: var(--font-weight-four-medium);
  line-height: 1.5;
  display: inline;
  padding: 5px 0;
  color: var(--color-font-two);
  background-color: var(--ghost-accent-color);
}

/* Switch
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.membership-switch[data-active-price="yearly"]
  + .membership-cards
  [data-monthly],
.membership-switch[data-active-price="monthly"]
  + .membership-cards
  [data-yearly],
.membership-switch[data-active-price-plans] {
  display: none;
}

.membership-switch[data-active-public-paid-tiers="false"] {
  display: none !important;
}

.membership-switch,
.membership-switch button {
  position: relative;
}

.membership-switch,
.membership-switch[data-active-price-plans*="monthly"][data-active-price-plans*="yearly"] {
  display: flex;
}

.membership-switch {
  box-sizing: border-box;
  width: 100%;
  max-width: 280px;
  min-height: 45px;
  margin: 0 auto 12vh;
  background-color: var(--color-one);
}

.membership-switch[data-active-price="monthly"]::before {
  transform: translateX(-100%);
}

.membership-switch[data-active-price="monthly"] button:first-of-type,
.membership-switch[data-active-price="yearly"] button:first-of-type + button {
  color: var(--color-font-two);
}

.membership-switch::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 50%;
  content: "";
  transition: transform 0.15s ease-in-out;
  background-color: var(--ghost-accent-color);
}

.membership-switch button {
  font-size: 14px;
  font-family: var(--font-family-two);
  font-weight: var(--font-weight-two-semi-bold);
  line-height: 1;
  width: 50%;
  padding: 0;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  transition: color 0.15s ease-in-out;
  color: var(--color-font-one);
  border: 0;
  outline: none;
  background-color: transparent;
  box-shadow: none;
}

/* Pricing cards
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.membership-cards,
.membership-card {
  display: flex;
  flex-wrap: wrap;
}

.membership-cards {
  justify-content: center;
  margin: 10vh auto 2vh;
}

.membership-cards.is-member {
  margin-bottom: 5vh;
}

.membership-card {
  position: relative;
  flex: 1 0 33.333%;
  box-sizing: border-box;
  min-width: 260px;
  max-width: 400px;
  margin: 0 0 80px;
  padding: 10px 10px 5vh;
  text-align: center;
  border-left: var(--border) var(--color-three);
}

.membership-card-content {
  width: 100%;
  margin: 0 auto;
}

/* Title label
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.membership-card-title {
  font-family: var(--font-family-four);
  font-size: 13px;
  font-weight: var(--font-weight-four-medium);
  position: absolute;
  top: -30px;
  left: -1px;
  margin-top: 0;
  margin-bottom: 0;
  color: var(--color-font-two);
  background-color: var(--ghost-accent-color);
}

/* Price
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.membership-card-price {
  font-size: 66px;
  margin: 0 0 0 -25px;
  padding: 3vh 0 4vh;
}

.membership-card-price sup {
  font-size: 50%;
  position: relative;
  top: -25px;
  margin-right: 3px;
}

.membership-card-price span {
  font-size: 16px;
}

/* Description
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.membership-card-description {
  font-family: var(--font-family-two);
  font-size: 16px;
  font-weight: var(--font-weight-two-bold);
  line-height: 1.8;
  margin: -1vh 25px 4vh;
}

/* Options
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.membership-card-options ul {
  margin: 0;
  padding: 0 20px 5vh;
}

.membership-card-options ul li {
  font-family: var(--font-family-four);
  font-size: 14px;
  font-weight: var(--font-weight-four-medium);
  margin: 0 0 10px;
  padding: 0;
  list-style: none;
}

/* Button
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.membership-card-content + a,
.membership-card-content + a + a {
  align-self: flex-end;
  margin: 0 auto;
}

/* Small footer
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.membership-cards + small {
  margin-top: 0;
  margin-bottom: 10vh;
  text-align: center;
}

/* RWD — Membership page
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width: 480px) {
  .membership-switch {
    max-width: 100%;
  }

  .membership-card-price span,
  .membership-card-description {
    font-size: 14px;
  }

  .membership-card-price {
    font-size: 50px;
  }

  .membership-card-title,
  .membership-card-options ul li {
    font-size: 12px;
  }
}

@media (max-width: 768px) {
  .post-header.is-hero.is-page .membership-description p {
    font-size: 16px;
  }
}

@media (max-width: 1024px) {
  .membership-card-price {
    font-size: 65px;
  }
}

@media (max-width: 1280px) {
  .membership-card {
    max-width: 100%;
  }
}

/* --------------------------------------------------------------------------
   19.Custom — Account page
   -------------------------------------------------------------------------- */

/* Image
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.account-image {
  position: relative;
}

.account-image img {
  width: 120px;
  height: 120px;
}

.account-image svg {
  position: absolute;
  z-index: -1;
  top: calc(50% - 19px - 1vh);
  left: calc(50% - 17px);
  width: 34px;
  height: 34px;
  opacity: 0.8;
  fill: var(--color-three);
}

/* Details
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.account-details,
.account-detail-column > div {
  box-sizing: border-box;
}

.account-details {
  position: relative;
  max-width: 600px;
  margin: 100px auto;
  border: var(--border) var(--color-three);
}

.account-details-wrap {
  display: flex;
  flex-wrap: wrap;
  padding: 2vh 6%;
}

.account-detail-column {
  flex-basis: auto;
  min-width: 225px;
  padding-right: 20px;
}

.account-detail-column > div {
  padding: 12px 0;
}

.account-details-title,
.account-detail-heading {
  font-family: var(--font-family-four);
  font-size: 13px;
  font-weight: var(--font-weight-four-medium);
}

.account-details-title {
  position: absolute;
  top: -30px;
  left: -1px;
  margin-top: 0;
  margin-bottom: 0;
  color: var(--color-font-one);
}

.account-detail-heading {
  line-height: 1;
  position: relative;
  display: block;
  width: 100%;
}

.account-detail-content {
  font-family: var(--font-family-two);
  font-size: 14px;
  font-weight: var(--font-weight-two-bold);
  display: inline-block;
  margin-top: 10px;
}

/* Cancel button
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.account-detail-cancel {
  width: 100%;
  margin-top: 15px;
  margin-bottom: 15px;
}

.account-detail-cancel-button {
  padding: 15px;
}

.account-detail-cancel-error {
  display: none;
}

/* Alerts
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.account-detail-cancel-error,
.account-detail-alert {
  font-size: 11px;
  margin-top: 10px;
}

.account-detail-cancel-button.error + .account-detail-cancel-error {
  display: block;
}

/* Billing link
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.account-detail-buttons {
  font-size: 11px;
  width: 100%;
  margin-top: 17px;
  text-align: right;
}

.account-detail-buttons span {
  display: inline-block;
  transition: transform 0.2s ease;
}

.account-detail-buttons a:hover span {
  transform: translateX(3px);
}

.account-detail-buttons a + a {
  margin-left: 10px;
}

.account-detail-buttons a:hover:first-child {
  text-decoration: underline;
}

/* RWD — Account page
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
@media (max-width: 480px) {
  .account-detail-buttons {
    text-align: left;
  }
}

/* --------------------------------------------------------------------------
   20.Colors
   -------------------------------------------------------------------------- */

/* Colors — Light [for black text]
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.global-hash-site-pearl,
body.tag-hash-post-bg-pearl {
  --color-site-light: #f1f1f1;
}
.global-hash-site-parchment,
body.tag-hash-post-bg-parchment {
  --color-site-light: #fdf6e4;
}
.global-hash-site-celeste,
body.tag-hash-post-bg-celeste {
  --color-site-light: #bdebe1;
}
.global-hash-site-arctic,
body.tag-hash-post-bg-arctic {
  --color-site-light: #aac7ff;
}
.global-hash-site-lilac,
body.tag-hash-post-bg-lilac {
  --color-site-light: #d8d0ff;
}
.global-hash-site-pink,
body.tag-hash-post-bg-pink {
  --color-site-light: #ff7ed4;
}
.global-hash-site-sand,
body.tag-hash-post-bg-sand {
  --color-site-light: #ffdb80;
}
.global-hash-site-canary,
body.tag-hash-post-bg-canary {
  --color-site-light: #fcc800;
}
.global-hash-site-avocado,
body.tag-hash-post-bg-avocado {
  --color-site-light: #d7eeaa;
}
.global-hash-site-jade,
body.tag-hash-post-bg-jade {
  --color-site-light: #42d97f;
}

/* Colors — Dark [for white text]
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.global-hash-site-rose,
body.tag-hash-post-bg-rose {
  --color-site-dark: #db2f2f;
}
.global-hash-site-ruby,
body.tag-hash-post-bg-ruby {
  --color-site-dark: #e23880;
}
.global-hash-site-burgundy,
body.tag-hash-post-bg-burgundy {
  --color-site-dark: #680347;
}
.global-hash-site-magenta,
body.tag-hash-post-bg-magenta {
  --color-site-dark: #d918d2;
}
.global-hash-site-eggplant,
body.tag-hash-post-bg-eggplant {
  --color-site-dark: #620087;
}
.global-hash-site-neon,
body.tag-hash-post-bg-neon {
  --color-site-dark: #5450ff;
}
.global-hash-site-ultramarine,
body.tag-hash-post-bg-ultramarine {
  --color-site-dark: #004cf7;
}
.global-hash-site-sapphire,
body.tag-hash-post-bg-sapphire {
  --color-site-dark: #010087;
}
.global-hash-site-grass,
body.tag-hash-post-bg-grass {
  --color-site-dark: #00873e;
}
.global-hash-site-emerald,
body.tag-hash-post-bg-emerald {
  --color-site-dark: #05ab09;
}

/* Colors — Posts
   –––––––––––––––––––––––––––––––––––––––––––––––––––– */
.post.tag-hash-post-card-white .global-color::after {
  background-color: #fff;
}
.post.tag-hash-post-card-cream .global-color::after {
  background-color: #fdeacc;
}
.post.tag-hash-post-card-amber .global-color::after {
  background-color: #fed672;
}
.post.tag-hash-post-card-apricot .global-color::after {
  background-color: #ffb469;
}
.post.tag-hash-post-card-peach .global-color::after {
  background-color: #fcae9e;
}
.post.tag-hash-post-card-iris .global-color::after {
  background-color: #c0b4fc;
}
.post.tag-hash-post-card-lavender .global-color::after {
  background-color: #c9abff;
}
.post.tag-hash-post-card-purple .global-color::after {
  background-color: #c18cee;
}
.post.tag-hash-post-card-violet .global-color::after {
  background-color: #cb73ff;
}
.post.tag-hash-post-card-amethyst .global-color::after {
  background-color: #b690ff;
}
.post.tag-hash-post-card-sky .global-color::after {
  background-color: #96b9ff;
}
.post.tag-hash-post-card-blue .global-color::after {
  background-color: #5db3ff;
}
.post.tag-hash-post-card-lapis .global-color::after {
  background-color: #1167ef;
}
.post.tag-hash-post-card-cobalt .global-color::after {
  background-color: #0041cf;
}
.post.tag-hash-post-card-azure .global-color::after {
  background-color: #615dff;
}
.post.tag-hash-post-card-turquoise .global-color::after {
  background-color: #04a3c4;
}
.post.tag-hash-post-card-mint .global-color::after {
  background-color: #00e6cb;
}
.post.tag-hash-post-card-seafoam .global-color::after {
  background-color: #58ffdd;
}
.post.tag-hash-post-card-green .global-color::after {
  background-color: #00d89a;
}
.post.tag-hash-post-card-palegreen .global-color::after {
  background-color: #a7fb93;
}
.post.tag-hash-post-card-celadon .global-color::after {
  background-color: #8dbc95;
}
.post.tag-hash-post-card-aqua .global-color::after {
  background-color: #cbf0e8;
}
.post.tag-hash-post-card-lime .global-color::after {
  background-color: #ceef60;
}
.post.tag-hash-post-card-apple .global-color::after {
  background-color: #12d356;
}
.post.tag-hash-post-card-coral .global-color::after {
  background-color: #f86c5f;
}
.post.tag-hash-post-card-tomato .global-color::after {
  background-color: #f15a4b;
}
.post.tag-hash-post-card-red .global-color::after {
  background-color: #d0312d;
}
.post.tag-hash-post-card-crimson .global-color::after {
  background-color: #dc153c;
}
.post.tag-hash-post-card-rosewood .global-color::after {
  background-color: #d478a2;
}
.post.tag-hash-post-card-cerise .global-color::after {
  background-color: #ff6dc4;
}
.post.tag-hash-post-card-raspberry .global-color::after {
  background-color: #ff4a97;
}
.post.tag-hash-post-card-olive .global-color::after {
  background-color: #bdbd26;
}
.post.tag-hash-post-card-gold .global-color::after {
  background-color: #c9a663;
}
.post.tag-hash-post-card-lemon .global-color::after {
  background-color: #fbe362;
}
.post.tag-hash-post-card-yellow .global-color::after {
  background-color: #ffd01b;
}
.post.tag-hash-post-card-goldenrod .global-color::after {
  background-color: #f5ab09;
}
.post.tag-hash-post-card-orange .global-color::after {
  background-color: #ff970d;
}

/* //////////////////////////////////////////////////////////////////////////
   IV. STRATEGIC & RADICAL OVERRIDES
   ////////////////////////////////////////////////////////////////////////// */

/* 1. TYPOGRAPHY SHARPENING (No Italics) */
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
em,
i,
cite,
span,
a {
  font-style: normal !important;
}

.global-meta,
.global-tags,
.post-content figcaption,
.search-meta,
.footer-copyright {
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

h1 {
  letter-spacing: -0.02em;
}

/* 2. BRUTALIST BORDERS & SHAPES */
* {
  border-radius: 0 !important;
}
input,
textarea,
button,
.global-button,
.item-image {
  border-radius: 0 !important;
}

/* 3. TECHNICAL GRID BACKGROUNDS */
.item.is-hero .item-container::before,
.item.is-hero.is-image .item-image::before {
  background-image:
    linear-gradient(var(--color-dots) 1px, transparent 1px),
    linear-gradient(90deg, var(--color-dots) 1px, transparent 1px) !important;
  background-size: 40px 40px !important;
  opacity: 0.07 !important;
}

/* 4. EXECUTIVE BLOCKQUOTES */
.post-content blockquote {
  padding-left: 40px;
  border-left: 4px solid var(--ghost-accent-color);
  font-family: var(--font-family-one);
  font-weight: 500;
}
.post-content blockquote::before {
  content: "" !important;
}

/* 5. INTERACTIVE ELEMENTS (Hover & Buttons) */
.global-underline {
  background: transparent !important;
  border-bottom: 2px solid var(--ghost-accent-color);
  transition: all 0.2s ease;
}
.global-underline:hover {
  background-color: var(--ghost-accent-color) !important;
  color: #fff !important;
}

.global-button {
  background: transparent;
  border: 1px solid var(--color-two);
  color: var(--color-two);
  transition: 0.2s var(--ease-out);
}
.global-button::before,
.global-button::after {
  display: none;
}
.global-button:hover {
  background: var(--color-two);
  color: var(--color-body) !important;
  transform: translateY(-2px);
  box-shadow: 4px 4px 0 var(--ghost-accent-color);
}

/* 6. NAVIGATION (Terminal Style) */
.header-nav a {
  font-family: var(--font-family-four);
  font-weight: 500;
  text-transform: uppercase;
  font-size: 17px;
}

/* 7. RADICAL: TARGETING CURSOR & SELECTION */
html,
body,
a,
button,
input {
  cursor: crosshair !important;
}
::selection {
  background: var(--color-font-one);
  color: var(--color-body);
  text-shadow: none;
}

/* 8. RADICAL: EVIDENCE IMAGERY */
/* (Grayscale effect removed, replaced with subtle zoom below) */

/* 9. RADICAL: MECHANICAL SCROLLBAR */
::-webkit-scrollbar {
  width: 6px;
  background: var(--color-body);
  border-left: 1px solid var(--color-three);
}
::-webkit-scrollbar-thumb {
  background: var(--ghost-accent-color);
  border-radius: 0;
}
::-webkit-scrollbar-thumb:hover {
  background: var(--color-font-one);
}

/* 10. RADICAL: VERTICAL DATA NAV (Desktop Only) */
@media (min-width: 1025px) {
  .nextprev-section {
    position: fixed;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    width: 80px;
    height: auto;
    border: none;
    flex-direction: column;
    z-index: 100;
    mix-blend-mode: exclusion;
  }
  .nextprev-section section {
    margin: 20px 0;
  }
  .nextprev-section h3,
  .nextprev-section small {
    display: none;
  }
  .nextprev-image {
    width: 10px;
    height: 10px;
    background: var(--color-font-one);
    border-radius: 0;
  }
  .nextprev-image img {
    display: none;
  }
  .nextprev-newer::after {
    content: "NXT";
    font-size: 10px;
    writing-mode: vertical-rl;
    margin-top: 10px;
  }
  .nextprev-older::after {
    content: "PRV";
    font-size: 10px;
    writing-mode: vertical-rl;
    margin-bottom: 10px;
  }
}

/* //////////////////////////////////////////////////////////////////////////
   V. PHASE 5: THE INTELLIGENCE INTERFACE (Unprecedented Additions)
   ////////////////////////////////////////////////////////////////////////// */

/* 1. STRATEGIC INDEXING (Auto-Numbering)
   Real strategy documents are indexed. This forces every H2 and H3 
   in your posts to automatically generate a numeric index (1.0, 1.1...),
   turning a blog post into a technical briefing. */
.post-content {
  counter-reset: strategy-h2;
}

.post-content h2 {
  counter-reset: strategy-h3;
}

.post-content h2::before {
  counter-increment: strategy-h2;
  content: "0" counter(strategy-h2) " // ";
  font-family: var(--font-family-four); /* JetBrains Mono */
  font-size: 0.6em;
  color: var(--ghost-accent-color);
  margin-right: 10px;
  letter-spacing: 0px;
  vertical-align: middle;
}

.post-content h3::before {
  counter-increment: strategy-h3;
  content: "0" counter(strategy-h2) "." counter(strategy-h3) " :: ";
  font-family: var(--font-family-four);
  font-size: 0.6em;
  opacity: 0.6;
  margin-right: 10px;
  letter-spacing: 0px;
  vertical-align: middle;
}

/* 2. THE "SCANLINE" OVERLAY
   This adds a permanent, subtle CRT/Monitor texture over the entire screen.
   It creates the subconscious feeling of reading off a high-end terminal 
   rather than a webpage. */
body::after {
  content: " ";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background:
    linear-gradient(rgba(18, 16, 16, 0) 50%, rgba(0, 0, 0, 0.05) 50%),
    linear-gradient(
      90deg,
      rgba(255, 0, 0, 0.03),
      rgba(0, 255, 0, 0.01),
      rgba(0, 0, 255, 0.03)
    );
  z-index: 9998; /* Just below the cursor/corner brackets */
  background-size:
    100% 2px,
    3px 100%;
  pointer-events: none; /* Allows clicks to pass through */
}

/* 3. "DATA BREACH" HOVER EFFECTS
   When hovering over Post Titles in the loop, they shouldn't just change color.
   They should "glitch" or shift, simulating a digital signal locking on. */
.item-title a {
  display: inline-block;
  transition: transform 0.1s steps(2); /* Stepped animation looks robotic */
}

.item-title a:hover {
  transform: translateX(10px);
  background: var(--color-font-one);
  color: var(--color-body) !important;
  padding: 0 5px;
}

/* 4. COMMAND LINE INPUTS
   Turn the search and subscribe forms into Terminal prompts. */
input,
textarea {
  background-color: #000 !important;
  color: #00ff41 !important; /* Terminal Green Text */
  font-family: var(--font-family-four) !important;
  border: 1px solid #333 !important;
  padding-left: 30px !important; /* Space for the prompt */
}

/* Add a blinking cursor prompt (>) via background image hack
.search-form input,
.subscribe-form input {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctext x='5' y='15' fill='%2300FF41' font-family='monospace' font-size='15'%3E%3E%3C/text%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: 5px center;
} */

/* 5. BLUEPRINT CARD HOVERS
   Instead of a shadow, cards get "Targeting Corners" when hovered. */
.item {
  position: relative;
}

.item:hover::before,
.item:hover::after {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  border: 2px solid var(--ghost-accent-color);
  pointer-events: none;
  transition: all 0.2s ease;
}

.item:hover::before {
  top: 0;
  left: 0;
  border-right: none;
  border-bottom: none;
}

.item:hover::after {
  bottom: 0;
  right: 0;
  border-left: none;
  border-top: none;
}

/* //////////////////////////////////////////////////////////////////////////
   VI. LAYOUT CORRECTIONS (Spacing & Centering)
   ////////////////////////////////////////////////////////////////////////// */

/* 1. EDGE-TO-EDGE ALIGNMENT
   Header content aligns flush with main content edges.
   .header-section handles full-width bg/border/sticky.
   .header-wrap constrains content to match .global-main. */
.header-wrap {
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box;
  max-width: var(--max-width-global-wrap) !important;
  width: 100% !important;
}

/* 2. THE "TRUE CENTER" LOCK (Logo Alignment)
   Instead of guessing the width, we use CSS transforms to calculate
   the exact mathematical center of the logo element dynamically. */
@media (min-width: 1025px) {
  .header-logo {
    position: absolute !important;
    left: 50% !important;
    /* Remove top: 50% if using flexbox in parent, 
           but absolute is safer for ignoring nav width */
    top: 50% !important;
    transform: translate(-50%, -50%) !important; /* The Dead Center Fix */

    width: auto !important; /* Allow it to fit "Codephor" exactly */
    max-width: none !important;
    margin: 0 !important;

    display: flex !important;
    align-items: center;
    justify-content: center;
    z-index: 1001; /* Layer above the nav links */
    white-space: nowrap; /* Prevent wrapping */
  }

  /* Ensure the logo image and text stay strictly inline */
  .header-logo a {
    display: flex;
    align-items: center;
  }
}

/* 3. OPTICAL BALANCE
   Ensure the Nav links don't stretch to fill space unnecessarily,
   which keeps them grouped neatly on the left. */
.header-nav {
  flex-basis: auto !important;
  width: 100%;
}

/* //////////////////////////////////////////////////////////////////////////
   VII. PHASE 7: BLACK BOX OPERATIONS (Typography & Live Status)
   ////////////////////////////////////////////////////////////////////////// */

/* 1. "INTELLIGENCE REPORT" JUSTIFICATION
   Standard blogs are left-aligned. Strategy reports (CIA, RAND, McKinsey) are 
   fully justified. This creates a solid "block" of text that feels authoritative.
   We enable auto-hyphenation to prevent ugly gaps. */
.post-content p {
  text-align: justify;
  hyphens: auto;
  -webkit-hyphens: auto;
  text-justify: inter-word;
  letter-spacing: -0.01em; /* Tighten slightly for density */
}

/* 2. THE "LIVE FEED" INDICATOR
   This adds a pulsing "recording" light next to your logo. 
   It subconsciously suggests the site is a live system, not a static archive. */
.header-logo::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  background-color: var(--ghost-accent-color); /* The Signal Orange */
  border-radius: 50% !important; /* The only round object allowed */
  margin-left: 15px;
  vertical-align: middle;
  box-shadow: 0 0 5px var(--ghost-accent-color);
  animation: signal-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

@keyframes signal-pulse {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.2;
  }
  100% {
    opacity: 1;
  }
}

/* 3. TERMINAL CODE BLOCKS
   If you post code/tech strategy, it should look like a hacking terminal.
   This overrides standard grey blocks with High-Contrast Terminal styles. */
.post-content pre {
  background-color: #050505 !important; /* Deep black */
  border: 1px solid #333 !important;
  border-left: 4px solid var(--ghost-accent-color) !important;
  color: #00ff41 !important; /* Matrix/Terminal Green */
  text-shadow: 0 0 2px rgba(0, 255, 65, 0.5);
  padding: 20px !important;
}

.post-content code {
  background-color: transparent !important; /* Remove internal grey backgrounds */
  font-family: "JetBrains Mono", monospace !important;
  font-size: 0.85em;
}

/* 4. "HARDWARE" TAGS
   Turn the tags at the bottom of posts into physical-looking labels/capsules. */
.global-tags a {
  border: 1px solid var(--color-font-two);
  padding: 4px 12px;
  text-transform: uppercase;
  font-size: 10px;
  background: var(--color-body);
  transition: all 0.2s;
}

.global-tags a:hover {
  background: var(--color-font-one);
  color: var(--color-body);
  border-color: var(--color-font-one);
}

/* 5. FOOTER GRID (Data Dump)
   Force the footer links into a strict monospace grid, looking like a manifest. */
.footer-nav-column li {
  font-family: var(--font-family-four); /* JetBrains Mono */
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1); /* Subtle grid lines */
}

/* Dark mode adjustment for footer grid lines */
@media (prefers-color-scheme: dark) {
  .footer-nav-column li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  }
}

/* //////////////////////////////////////////////////////////////////////////
   VIII. PHASE 8: TEMPORAL & SIGNAL INTEGRITY (The Final Polish)
   ////////////////////////////////////////////////////////////////////////// */

/* 1. ISO-STYLE NUMERICS (Tabular Data)
   Dates and times currently look "prose-like." This forces all timestamps 
   to align perfectly vertically (tabular numbers), making lists look like 
   server logs. We also prepend a "[LOG]" tag to dates. */
time {
  font-family: var(--font-family-four) !important; /* JetBrains Mono */
  font-variant-numeric: tabular-nums !important;
  letter-spacing: -0.05em;
  opacity: 0.8;
}

.global-meta time::before {
  content: "LOG :: ";
  opacity: 0.5;
}

/* 3. REDACTED PLACEHOLDERS
   If a post has no image, the theme currently shows a soft grey SVG icon.
   We replace this with a "REDACTED" or "NO SIGNAL" pattern (diagonal stripes),
   implying the image exists but is classified/unavailable. */
.no-image svg {
  display: none !important; /* Hide the soft icon */
}

.no-image {
  background: repeating-linear-gradient(
    45deg,
    #000,
    #000 10px,
    #111 10px,
    #111 20px
  ) !important;
  border: 1px solid #333 !important;
  position: relative;
}

.no-image::after {
  content: "NO IMAGE";
  font-family: var(--font-family-four);
  color: #333;
  font-size: 10px;
  letter-spacing: 0.2em;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #000;
  padding: 2px 5px;
  border: 1px solid #333;
}

/* 4. HYPERLINK "DATA UNDERLINE"
   Standard links usually have a soft underline. 
   We change inline links to have a "terminal cursor" underline 
   that blinks on hover. */
.post-content a:not(.global-button) {
  border-bottom: 2px solid var(--color-three) !important;
  text-decoration: none !important;
}

.post-content a:not(.global-button):hover {
  background-color: var(--color-font-one) !important;
  color: var(--color-body) !important;
  border-bottom: 2px solid var(--ghost-accent-color) !important;
  animation: blink-underline 0.2s steps(2) infinite;
}

@keyframes blink-underline {
  0% {
    border-color: var(--ghost-accent-color);
  }
  50% {
    border-color: transparent;
  }
  100% {
    border-color: var(--ghost-accent-color);
  }
}

/* //////////////////////////////////////////////////////////////////////////
   IX. PHASE 9: HARD COPY PROTOCOL & MOBILE SAFETY (Final System Hardening)
   ////////////////////////////////////////////////////////////////////////// */

/* 1. END OF FILE (EOF) MARKER
   Adds a terminal-style termination signal at the very bottom of the footer. 
   It confirms to the reader that they have reached the absolute end of data. */
.global-footer::after {
  content: "/// KẾT THÚC TRUYỀN TẢI ///";
  display: block;
  text-align: center;
  font-family: var(--font-family-four); /* JetBrains Mono */
  font-size: 10px;
  letter-spacing: 0.2em;
  opacity: 0.15;
  padding: 40px 0 20px 0;
  width: 100%;
  color: var(--color-font-one);
}

/* 2. MOBILE SAFETY OVERRIDES
   The "Scanlines" and "Crosshair" are cool on desktop, but on mobile, 
   they can obscure text and confuse touch interactions. This disables them 
   only on touch devices. */
@media (hover: none) and (pointer: coarse) {
  /* Disable the scanline overlay to save mobile battery and improve reading */
  body::after {
    display: none !important;
  }

  /* Restore standard pointer on touch screens */
  html,
  body,
  a,
  button,
  input {
    cursor: auto !important;
  }

  /* Keep header flush with global-content padding */
  .header-section {
    padding-left: 0;
    padding-right: 0;
  }
  .header-wrap {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* 3. CLASSIFIED MEMO PRINT STYLES (Ctrl+P / Save to PDF)
   When someone prints your post or saves it as a PDF, this strips away 
   the website "junk" and formats it like a clean, high-contrast 
   intelligence briefing. */
@media print {
  /* Hide the interface elements */
  .header-section,
  .footer-section,
  .post-progress,
  .nextprev-section,
  .subscribe-section,
  body::after,
  body::before {
    display: none !important;
  }

  /* Reset colors for ink saving */
  body,
  .post-content {
    background: #fff !important;
    color: #000 !important;
  }

  /* Add a "CONFIDENTIAL" header to the printed page */
  .post-content::before {
    content: "STRATEGY BRIEFING // CLASSIFIED";
    display: block;
    border-bottom: 2px solid #000;
    margin-bottom: 20px;
    font-family: "JetBrains Mono", monospace;
    font-weight: bold;
    font-size: 14pt;
  }

  /* Show URL destinations after links so paper readers can see sources */
  .post-content a::after {
    content: " [" attr(href) "]";
    font-size: 8pt;
    color: #666;
  }

  /* Force the "Briefing" font for reading */
  p,
  h1,
  h2,
  h3,
  li {
    font-family: "IBM Plex Sans", sans-serif !important;
    color: #000 !important;
    text-shadow: none !important;
  }
}

/* //////////////////////////////////////////////////////////////////////////
   X. PHASE 10: HUD TELEMETRY & SYSTEM STABILITY (Final Master)
   ////////////////////////////////////////////////////////////////////////// */

/* 1. HUD TELEMETRY (Corner Data) */
.global-wrap::before,
.global-wrap::after {
  content: "";
  position: fixed;
  z-index: 9990;
  pointer-events: none;
  font-family: var(--font-family-four);
  font-size: 9px;
  letter-spacing: 0.1em;
  color: var(--color-font-one);
  opacity: 0.6;
}

/* Top Left - Vertical Mode (Pushed to edge to avoid Header overlap) */
.global-wrap::before {
  content: "TRẠNG THÁI HỆ THỐNG: ONLINE";
  top: 140px;
  left: 5px; /* Pushed into the gutter */
  border-left: 2px solid var(--color-font-one);
  padding-left: 10px;
  height: 100px;
  display: flex;
  align-items: center;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
}

/* Bottom Right - Vertical Mode (Aligned with Left Side) */
.global-wrap::after {
  content: "V.3.5.3 // ENCRYPTED";
  bottom: 120px; /* Raised to sit above the subscription button */
  right: 5px; /* Pushed to edge */
  border-right: 2px solid var(--color-font-one);
  padding-right: 10px;
  height: 150px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
}

@media (max-width: 768px) {
  .global-wrap::before,
  .global-wrap::after {
    display: none;
  }
}

/* 2. SYSTEM BOOT (Safe Mode) */
@keyframes system-fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

body {
  animation: system-fade-in 1s ease-out forwards;
  transform: none !important;
}

/* 3. SUBSCRIPTION BUTTON (Ghost Portal) FIX 
   - Container increased to 90px to prevent cutoff.
   - Color override REMOVED (Reverts to Teal/Default).
*/
#ghost-portal-root {
  position: fixed !important;
  bottom: 10px !important;
  right: 10px !important;
  z-index: 10000 !important;
  width: 90px !important; /* Prevents clipping of shadow/hover scale */
  height: 90px !important;
  overflow: visible !important;
  transform: none !important;
}

#ghost-portal-root iframe {
  position: absolute !important;
  bottom: 0 !important;
  right: 0 !important;
  width: 100% !important;
  height: 100% !important;

  /* FILTER REMOVED: Button will now be default Teal */
  transition: all 0.3s ease !important;
}

#ghost-portal-root iframe:hover {
  /* Only scale on hover, no color shift */
  transform: scale(1.05) !important;
}

/* 4. CLASSIFIED TEXT REDACTION */
.classified {
  background-color: var(--color-font-one);
  color: var(--color-font-one);
  padding: 0 4px;
  cursor: help;
  user-select: none;
}
.classified:hover {
  background-color: var(--ghost-accent-color);
  color: #000;
}

/* 5. SIGNAL NOISE ON IMAGES */
.item-image img,
.post-content img {
  background:
    linear-gradient(rgba(18, 16, 16, 0) 50%, rgba(0, 0, 0, 0.25) 50%),
    linear-gradient(
      90deg,
      rgba(255, 0, 0, 0.06),
      rgba(0, 255, 0, 0.02),
      rgba(0, 0, 255, 0.06)
    );
  background-size:
    100% 2px,
    3px 100%;
}

/* 6. BACKGROUND SAFETY (Prevents Black Void) */
html,
body {
  background-color: var(--color-body) !important;
}

/* //////////////////////////////////////////////////////////////////////////
   XI. THE STRATEGIC LAYER (Sophisticated Tech Overrides)
   Replaces previous radical styles with High-Fidelity Industrial Design
   ////////////////////////////////////////////////////////////////////////// */

/* 1. ATMOSPHERIC GRAIN (Texture over Scanlines) 
   Replaces the retro CRT line with a high-end film grain/static.
   This feels like "paper" on light mode and "sensor noise" on dark mode. */
body::after {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 9998;
  opacity: 0.05;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");
}

/* 2. FROSTED GLASS HEADER (Aero-Tech Interface)
   Makes the navigation feel like a floating HUD panel.
   Applied to .header-section for full-width coverage. */
.header-section {
  backdrop-filter: blur(16px) saturate(180%);
  -webkit-backdrop-filter: blur(16px) saturate(180%);
  border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
  transition:
    background 0.3s var(--ease-smooth),
    border-color 0.3s var(--ease-smooth);
}

.dark-mode .header-section {
  background: rgba(5, 5, 5, 0.85) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
}

.retro-mode .header-section {
  background: rgba(10, 14, 20, 0.85) !important;
  border-bottom: 1px solid rgba(0, 255, 65, 0.1) !important;
}

.retro-mode .header-section {
  background: #1a1a2e !important;
  border-bottom: 2px solid #ff2a6d !important;
  box-shadow: 0 3px 0 #0f3460 !important;
}

/* 3. TYPOGRAPHIC PRECISION (The "Swiss Strategy" Look) */
h1,
h2,
h3,
h4,
h5,
h6 {
  letter-spacing: -0.03em !important; /* Tightens text for a 'Headlines' look */
  font-variant-ligatures: none;
}

/* Force specific elements to Mono for "Data" feel */
.global-meta,
.global-tags,
time,
.footer-nav-column li,
.post-content figcaption {
  font-family: "JetBrains Mono", monospace !important;
  text-transform: uppercase;
  font-size: 10px !important; /* Smaller, sharper */
  letter-spacing: 0.05em !important;
  opacity: 0.8;
}

/* 4. THE INTELLIGENCE INDEX (Auto-Numbering 2.0)
   Cleaner, less obtrusive indexing for h2/h3. */
.post-content {
  counter-reset: tech-h2;
}
.post-content h2 {
  counter-reset: tech-h3;
}

.post-content h2::before {
  counter-increment: tech-h2;
  content: "0" counter(tech-h2);
  font-family: "JetBrains Mono", monospace;
  font-size: 12px;
  display: block; /* Puts number ON TOP of the heading */
  color: var(--ghost-accent-color);
  margin-bottom: 5px;
  letter-spacing: 1px;
  opacity: 1;
}

.post-content h3::before {
  counter-increment: tech-h3;
  content: "// " counter(tech-h2) "." counter(tech-h3);
  font-family: "JetBrains Mono", monospace;
  font-size: 14px;
  color: var(--color-font-two);
  opacity: 0.5;
  margin-right: 8px;
}

/* 5. PRECISION INPUTS (The "Command Line" Vibe)
   Removes the "Hacker Green" background, replaces with clean lines. */
input,
textarea,
.subscribe-form input {
  background-color: transparent !important;
  background-image: none !important;
  color: var(--color-font-one) !important;
  font-family: "JetBrains Mono", monospace !important;
  border: none !important;
  border-bottom: 1px solid rgba(125, 125, 125, 0.3) !important;
  border-radius: 0 !important;
  padding-left: 0 !important;
  transition: all 0.3s ease;
}

/* Fix invisible placeholder — earlier rules set color to match background */
.subscribe-form input::placeholder {
  color: var(--color-font-one) !important;
  opacity: 0.4;
}

input:focus,
textarea:focus {
  border-bottom: 1px solid var(--ghost-accent-color) !important;
}

/* 6. MAGNETIC INTERACTION (Cursor & Links) */
html,
body,
a,
button {
  cursor: crosshair !important; /* Keeps the precision feel */
}

/* Links turn into "Highlighter" marks on hover */
.post-content a:not(.global-button) {
  border-bottom: 1px solid var(--color-three) !important;
  transition: all 0.2s var(--ease-out);
}

.post-content a:not(.global-button):hover {
  background-color: var(--ghost-accent-color) !important;
  color: #fff !important; /* White text on Orange bg */
  border-color: transparent !important;
  text-decoration: none !important;
  box-shadow: 0 0 0 2px var(--ghost-accent-color); /* Slight bleed */
}

/* 7. DATA TABLES (Financial Report Style) */
.post-content table {
  border-top: 2px solid var(--color-font-one);
  border-bottom: 2px solid var(--color-font-one);
}

.post-content th {
  font-family: "JetBrains Mono", monospace;
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: 1px;
  border-bottom: 1px solid var(--color-three);
}

.post-content td {
  font-family: "IBM Plex Sans", sans-serif;
  font-feature-settings: "tnum"; /* Tabular numbers for data */
  border-bottom: 1px solid rgba(125, 125, 125, 0.1);
}

/* 8. IMAGERY: SUBTLE ZOOM
   Hovering over a post card slightly scales the image. */
.home-template .item-image {
  overflow: hidden;
}

.home-template .item-image img {
  transform: scale(1);
  transition: transform 0.4s var(--ease-out);
  will-change: transform;
}

.home-template .item:hover .item-image img {
  transform: scale(1.03);
}

/* 9. THE "LIVE FEED" LOGO
   Keeps the pulsing dot, but makes it smaller/sharper. */
.header-logo::after {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  background-color: var(--ghost-accent-color);
  border-radius: 50%;
  margin-left: 10px;
  margin-bottom: 2px;
  box-shadow: 0 0 0 2px rgba(255, 68, 0, 0.2); /* Ripple ring */
  animation: signal-pulse 4s ease-in-out infinite;
}

/* 10. CARD HOVERS: "ELEVATION"
   Instead of glitching, cards subtly lift and sharpen. */
.item {
  transition:
    transform 0.3s ease,
    opacity 0.3s ease;
}
.item:hover {
  transform: translateY(-5px);
}
.item:hover .item-title {
  text-decoration: underline;
  text-decoration-color: var(--ghost-accent-color);
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

/* 11. SCROLLBAR (Mechanical) */
::-webkit-scrollbar {
  width: 4px;
  background: transparent;
}
::-webkit-scrollbar-thumb {
  background: var(--color-three);
  border-radius: 0;
}
::-webkit-scrollbar-thumb:hover {
  background: var(--ghost-accent-color);
}

/* 12. TELEMETRY FRAMING (Vertical Sidebar Mode)
   Moves status text to the far edges (gutters) to prevent text overlap.
   Hides automatically if the screen is too narrow. */

@media (min-width: 1450px) {
  /* LEFT SIDE: Identity */
  .global-wrap::before {
    content: "# CODEPHORIA";
    position: fixed;
    top: 50%;
    left: 20px;
    transform: translateY(-50%) rotate(180deg);
    writing-mode: vertical-rl;

    font-family: "JetBrains Mono", monospace;
    font-size: 9px;
    letter-spacing: 0.2em;
    color: var(--color-font-one);
    opacity: 0.3;
    z-index: 9990;
    pointer-events: none;

    /* A subtle vertical line to anchor it */
    border-left: 1px solid rgba(125, 125, 125, 0.2);
    padding-left: 10px;
  }

  /* RIGHT SIDE: System Status */
  .global-wrap::after {
    content: "TRẠNG THÁI HỆ THỐNG: ỔN ĐỊNH"; /* Changed from 'SENSORS: ACTIVE' to be more subtle */
    position: fixed;
    top: 50%;
    right: 20px;
    bottom: auto; /* Reset previous positioning */
    left: auto; /* Reset previous positioning */

    transform: translateY(-50%) rotate(180deg);
    writing-mode: vertical-rl;

    font-family: "JetBrains Mono", monospace;
    font-size: 9px;
    letter-spacing: 0.2em;
    color: var(--ghost-accent-color);
    opacity: 0.4;
    z-index: 9990;
    pointer-events: none;

    /* A subtle vertical line to anchor it */
    border-right: 1px solid rgba(var(--ghost-accent-color), 0.2);
    padding-right: 10px;
  }
}

/* On smaller screens (Laptops, Tablets, Mobile), hide the floating data 
   entirely so it never distracts from the reading experience. */
@media (max-width: 1449px) {
  .global-wrap::before,
  .global-wrap::after {
    display: none !important;
  }
}

/* //////////////////////////////////////////////////////////////////////////
   XII. PHASE 12: THE "LOGIC KERNEL" (Structural Overrides)
   Transforming static content into active systems.
   ////////////////////////////////////////////////////////////////////////// */

/* 1. LOGIC FLOW LISTS (Circuit Board Connectivity)
   Turns <ul> and <ol> into connected process flows. */
.post-content ul,
.post-content ol {
  position: relative;
  padding-left: 20px;
  border-left: 1px solid rgba(125, 125, 125, 0.2); /* The "Bus" Line */
  margin-left: 10px;
}

.post-content li {
  position: relative;
  list-style: none; /* Remove default dots */
  margin-bottom: 15px;
}

/* The "Node" (Square Connector) */
.post-content li::before {
  content: "";
  position: absolute;
  top: 10px; /* Align with first line of text */
  left: -25px; /* Sit on the border line */
  width: 9px;
  height: 9px;
  background: var(--color-body);
  border: 1px solid var(--ghost-accent-color);
  transition: all 0.2s ease;
}

/* Hovering a list item "activates" that node */
.post-content li:hover::before {
  background: var(--ghost-accent-color);
  box-shadow: 0 0 10px var(--ghost-accent-color);
}

/* 2. "TERMINAL" CODE HEADERS (The Execution Context)
   Adds a faux-window header to every code block. */
.post-content pre {
  padding-top: 45px !important; /* Make room for the header */
  position: relative;
  overflow: hidden; /* Keep the header contained */
  border-radius: 0; /* Strict square corners */
}

.post-content pre::before {
  content: "/// EXECUTION_CONTEXT // READ_ONLY";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 25px;
  background: rgba(255, 255, 255, 0.1);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);

  /* Text Styling */
  font-family: "JetBrains Mono", monospace;
  font-size: 9px;
  color: var(--ghost-accent-color);
  display: flex;
  align-items: center;
  padding-left: 15px;
  letter-spacing: 0.1em;
}

/* 3. DATA EXTRACTION (Selection Style)
   Customizes how text looks when the user highlights it. */
::selection {
  background: var(--ghost-accent-color);
  color: #000; /* High contrast black text */
  text-shadow: none;
}

/* 4. THE "EXHIBIT" MARKER (Image Captions)
   Reverted to standard editorial positioning below the image. */
.post-content figure {
  position: relative;
  margin: var(--space-8) 0;
}

.post-content figcaption {
  text-align: center;
  color: var(--color-font-two);
  margin-top: var(--space-4);
  font-family: "JetBrains Mono", monospace !important;
  font-size: 11px !important;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  opacity: 0.8;
}

/* //////////////////////////////////////////////////////////////////////////
   XIII. PHASE 13: SIGNAL PROTOCOLS (Final System Hardening)
   ////////////////////////////////////////////////////////////////////////// */

/* 1. THE "CHECKPOINT" DIVIDER (<hr>)
   Turns horizontal rules into technical section breaks. */
.post-content hr {
  border: 0;
  height: 1px;
  background-image: linear-gradient(
    to right,
    rgba(0, 0, 0, 0),
    rgba(125, 125, 125, 0.4),
    rgba(0, 0, 0, 0)
  );
  margin-top: 60px;
  margin-bottom: 60px;
  position: relative;
  overflow: visible;
}

.post-content hr::after {
  content: "///"; /* The Break Signal */
  position: absolute;
  top: -7px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--color-body);
  padding: 0 10px;

  font-family: "JetBrains Mono", monospace;
  font-size: 10px;
  color: var(--ghost-accent-color);
  letter-spacing: 2px;
}

/* 2. "TARGET LOCK" HIGHLIGHTING (<mark>)
   Turns highlighted text into "Inverted Data" blocks. */
.post-content mark {
  background-color: transparent;
  color: var(--color-font-one);
  padding: 0 4px;

  /* The "Bracket" Effect */
  border: 1px solid var(--ghost-accent-color);
  border-top: none;
  border-bottom: none;

  /* Subtle Glow */
  text-shadow: 0 0 5px rgba(255, 68, 0, 0.2);
  font-weight: 600;
}

/* 3. OUTGOING SIGNAL INDICATORS (External Links)
   Automatically detects external links and adds a 'Signal Out' icon. */
.post-content a[href^="http"]::after {
  content: "↗";
  display: inline-block;
  font-family: "JetBrains Mono", monospace;
  font-size: 9px;
  margin-left: 3px;
  color: var(--ghost-accent-color);
  text-decoration: none !important;
  border: none !important;
  opacity: 0.7;
  transition: transform 0.2s ease;
}

.post-content a[href^="http"]:hover::after {
  transform: translate(2px, -2px); /* Moves up/right on hover */
  opacity: 1;
}

/* 4. DOSSIER FILE LABELS (Post Loop)
   Adds a "FILE.REF" tag to every post card in the main loop,
   making the homepage look like a database query result. */
.item-content::before {
  content: "DỮ LIỆU // BÀI VIẾT "; /* Scrapes class data for a 'hash' look */
  display: block;
  font-family: "JetBrains Mono", monospace;
  font-size: 8px;
  color: var(--color-font-two);
  opacity: 0.4;
  margin-bottom: 5px;
  letter-spacing: 1px;
  text-transform: uppercase;

  /* Clean up the output slightly by cutting long strings */
  max-width: 100%;
  overflow: hidden;
  white-space: nowrap;
}

/* //////////////////////////////////////////////////////////////////////////

   Retro Visual Effects - Pixel Art Soul
   
   ////////////////////////////////////////////////////////////////////////// */

/* Body text → IBM Plex Mono for terminal feel, great readability */
.retro-mode body {
  font-family: "IBM Plex Mono", monospace;
  font-size: 17px;
  line-height: 1.8;
}

/* Zero border-radius (hard pixel edges globally) */
.retro-mode *, .retro-mode *::before, .retro-mode *::after { 
  border-radius: 0 !important; 
}

/* Hard Shadow System applied to Cards and structural elements */
.retro-mode .loop-card,
.retro-mode .post-card,
.retro-mode .subscribe-section,
.retro-mode .author-section {
  box-shadow: var(--retro-shadow-sm);
  border: 1px solid #0f3460;
  transition: transform 0.2s, box-shadow 0.2s;
}

.retro-mode .loop-card:hover,
.retro-mode .post-card:hover {
  transform: translate(-2px, -2px);
  box-shadow: var(--retro-shadow-md);
  border-color: #ff2a6d;
}

/* Reading Header with hard shadow */
.retro-mode .reading-header {
  box-shadow: 0 3px 0 #ff2a6d;
  background: #1a1a2e;
  border-bottom: none;
}

/* Retro: Synchronized Heading System */
.retro-mode h1,
.retro-mode h2,
.retro-mode h3,
.retro-mode h4,
.retro-mode h5,
.retro-mode h6,
.retro-mode .is-title {
  font-family: "IBM Plex Mono", monospace !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: -0.5px;
  color: #ff2a6d; /* Magenta headers */
  text-shadow: 2px 2px 0 #0f3460; /* Hard shadow */
}

/* Scale adjustments for Mono font */
.retro-mode h1 { font-size: clamp(24px, 5vw, 36px); }
.retro-mode h2 { font-size: clamp(20px, 4vw, 28px); }
.retro-mode h3 { font-size: clamp(16px, 3vw, 22px); }

/* Do not color/border bottom override for links inside headings */
.retro-mode h1 a, 
.retro-mode h2 a, 
.retro-mode h3 a {
  color: inherit !important;
  border-bottom: none !important;
}

/* Press Start 2P ONLY on micro UI chrome (tags, labels, meta) */
.retro-mode .global-tags a,
.retro-mode .post-tag,
.retro-mode time,
.retro-mode .post-card-tag,
.retro-mode .header-nav a {
  font-family: "Press Start 2P", cursive !important;
  font-size: 10px !important;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

/* Specific styling for tag pills */
.retro-mode .global-tags a,
.retro-mode .post-tag,
.retro-mode .post-card-tag {
  padding: 6px 10px;
  border: 1px solid #0f3460;
  background: #16213e;
  box-shadow: 2px 2px 0 #0f3460;
}
.retro-mode .global-tags a:hover,
.retro-mode .post-tag:hover {
  border-color: #ff2a6d;
  box-shadow: 2px 2px 0 #ff2a6d;
  color: #faf0ca;
}

/* Vibrant hover effects for links */
.retro-mode a:not(.is-image):not(.post-card-image-link) {
  border-bottom: 2px solid #ff2a6d;
  transition: all 0.2s;
  text-decoration: none;
}
.retro-mode a:not(.is-image):not(.post-card-image-link):hover {
  border-color: #00d2ff;
  color: #00d2ff;
  background: rgba(0, 210, 255, 0.1);
}

/* Selection highlight */
.retro-mode ::selection {
  background: #ff2a6d;
  color: #1a1a2e;
}

/* Code blocks & Inline code */
.retro-mode .post-content pre {
  background: #16213e !important;
  border: 2px solid #0f3460;
  box-shadow: var(--retro-shadow-sm);
}
.retro-mode .post-content code {
  background: #16213e;
  border: 1px solid #0f3460;
  color: #00d2ff;
  padding: 2px 6px;
}

/* Retro: Text Logo Evolution */
.retro-mode .reading-header-logo .is-title,
.retro-mode .header-logo .is-title {
  font-family: "Press Start 2P", cursive !important;
  font-size: 16px !important;
  letter-spacing: -1px;
  color: #faf0ca !important;
  text-transform: uppercase;
  text-shadow: 
    3px 3px 0 #ff2a6d,
    -1px -1px 0 #0f3460, 
    1px -1px 0 #0f3460, 
    -1px 1px 0 #0f3460, 
    1px 1px 0 #0f3460 !important;
}

/* Remove italics from text logo wrapper */
.retro-mode .reading-header-logo .brand-phoria,
.retro-mode .header-logo .brand-phoria { 
  font-style: normal; 
}

/* Background constraint */
.retro-mode .global-wrap {
  min-height: 100vh;
}

/* Scrollbar */
.retro-mode ::-webkit-scrollbar { width: 10px; }
.retro-mode ::-webkit-scrollbar-track { background: #1a1a2e; }
.retro-mode ::-webkit-scrollbar-thumb { 
  background: #0f3460; 
  border: 2px solid #1a1a2e;
}
.retro-mode ::-webkit-scrollbar-thumb:hover { background: #ff2a6d; }

/* //////////////////////////////////////////////////////////////////////////
   XIV. PHASE 14: THE WAR ROOM (Advanced Image Intelligence)
   ////////////////////////////////////////////////////////////////////////// */

/* 1. THE HUD FRAME 
   Adds a "viewfinder" bracket around images, separating them from text flow. */
.post-content .kg-image-card,
.post-content .kg-gallery-card {
  position: relative;
  padding: 10px; /* Space for the brackets */
  transition: all 0.3s ease;
}

.post-content .kg-image-card::before,
.post-content .kg-image-card::after {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  border: 1px solid var(--ghost-accent-color);
  transition: all 0.3s ease;
  opacity: 0.5;
  pointer-events: none;
}

/* Top Left Bracket */
.post-content .kg-image-card::before {
  top: 0;
  left: 0;
  border-right: none;
  border-bottom: none;
}
/* Bottom Right Bracket */
.post-content .kg-image-card::after {
  bottom: 0;
  right: 0;
  border-left: none;
  border-top: none;
}

/* 2. THE SCAN GRID (Hover Effect)
   When hovering an image, a grid appears over it to aid "analysis". */
.post-content img {
  /* Keep your existing grayscale filter */
  position: relative;
  z-index: 1;
}

.post-content .kg-image-card:hover::before,
.post-content .kg-image-card:hover::after {
  width: 100%;
  height: 100%;
  opacity: 1;
  z-index: 0;
}

/* 3. METADATA TAG
   Adds a "FIGURE_ANALYSIS" tag to the corner of images. */
.post-content .kg-image-card::before {
  content: "IMG.DATA // Codephoria";
  font-family: "JetBrains Mono", monospace;
  font-size: 8px;
  color: var(--ghost-accent-color);
  border: none;
  top: -15px;
  left: 0;
  width: auto;
  height: auto;
  letter-spacing: 1px;
}

/* //////////////////////////////////////////////////////////////////////////
   XVI. PHASE 16: TACTICAL CALLOUTS (System Alerts)
   ////////////////////////////////////////////////////////////////////////// */

/* Base Callout Style - "The Terminal Notification" */
.post-content .kg-callout-card {
  background: transparent !important;
  border: 1px solid var(--color-three);
  border-radius: 0;
  padding: 25px 25px 25px 60px !important; /* Room for icon */
  position: relative;
  margin: 50px 0;
}

/* The "Icon" Area - Replaced with a blinking status light */
.post-content .kg-callout-card-emoji {
  position: absolute;
  left: 20px;
  top: 25px;
  font-size: 20px; /* Keep emoji visible but change context */
  filter: grayscale(100%);
}

/* 1. INSIGHT MODE (Default Grey/Green) */
.post-content .kg-callout-card {
  border-left: 4px solid var(--color-font-one);
}
.post-content .kg-callout-card::before {
  content: "/// POST_NOTE";
  position: absolute;
  top: -10px;
  left: 10px;
  background: var(--color-body);
  padding: 0 10px;
  font-family: "JetBrains Mono", monospace;
  font-size: 9px;
  color: var(--color-font-one);
  letter-spacing: 1px;
}

/* 2. WARNING/CRITICAL MODE (If you use Red background in Ghost, this targets it) */
/* Note: Ghost outputs inline styles for colors, so we use !important to override background 
   but use the color hint to determine the border */

.post-content .kg-callout-card[style*="background-color: #fcebeb"], /* Ghost Red */
.post-content .kg-callout-card[style*="background-color:#fcebeb"] {
  background-color: transparent !important;
  border-color: #ff0000 !important;
  border-left: 4px solid #ff0000 !important;
}

.post-content .kg-callout-card[style*="background-color: #fcebeb"]::before {
  content: "/// NOTE";
  color: #ff0000;
}

/* Typography Inside Callouts */
.post-content .kg-callout-text {
  font-family: "JetBrains Mono", monospace; /* Force mono for alerts */
  font-size: 14px;
  line-height: 1.6;
}

/* //////////////////////////////////////////////////////////////////////////
   XVII. PHASE 17: THE DATA LEDGER (Financial Analysis Grid)
   ////////////////////////////////////////////////////////////////////////// */

.post-content table {
  border-collapse: collapse;
  width: 100%;
  margin: 50px 0;
  font-size: 13px;
  border: 1px solid var(--color-three);
}

/* 1. HEADER ROW - "The Manifest" */
.post-content th {
  background: var(--color-font-one);
  color: var(--color-body);
  font-family: "JetBrains Mono", monospace;
  text-transform: uppercase;
  font-weight: normal;
  padding: 15px;
  letter-spacing: 1px;
  border: none;
}

/* 2. DATA CELLS - "The Stream" */
.post-content td {
  border-bottom: 1px solid rgba(125, 125, 125, 0.1);
  padding: 12px 15px;
  font-family: "IBM Plex Sans", sans-serif;
  font-feature-settings: "tnum"; /* Tabular Numbers align vertically */
  transition: background 0.2s ease;
}

/* 3. INTERACTIVE READING RULER
   Highlights the row you are hovering for precision reading. */
.post-content tr:hover td {
  background-color: rgba(
    var(--ghost-accent-color),
    0.05
  ); /* Very subtle tint */
  color: var(--ghost-accent-color);
  cursor: crosshair;
}

/* 4. FIRST COLUMN KEY
   Treats the first column as the "Key" or "Label" */
.post-content td:first-child {
  font-weight: 700;
  font-family: "Space Grotesk", sans-serif;
  color: var(--color-font-one);
}

/* //////////////////////////////////////////////////////////////////////////
   XVIII. PHASE 18: DEEP SOURCE VERIFICATION (Reference Database)
   ////////////////////////////////////////////////////////////////////////// */

/* 1. CONTAINER */
.post-content .footnotes {
  margin-top: 100px;
  padding: 40px;
  background: rgba(0, 0, 0, 0.03); /* Subtle grey box */
  border-top: 4px solid var(--color-font-one);
  position: relative;
}

/* Dark mode adjustment */
@media (prefers-color-scheme: dark) {
  .post-content .footnotes {
    background: rgba(255, 255, 255, 0.02);
  }
}

/* 2. HEADER LABEL */
.post-content .footnotes::before {
  content: "SOURCE_VERIFICATION // CITATIONS";
  position: absolute;
  top: -12px;
  left: 0;
  background: var(--color-font-one);
  color: var(--color-body);
  font-family: "JetBrains Mono", monospace;
  font-size: 10px;
  padding: 2px 10px;
  letter-spacing: 1px;
}

/* 3. LIST STYLING */
.post-content .footnotes-list {
  font-family: "JetBrains Mono", monospace;
  font-size: 11px;
  color: var(--color-font-two);
  opacity: 0.8;
}

.post-content .footnote-item {
  margin-bottom: 15px;
  padding-left: 10px;
  border-left: 1px solid transparent;
  transition: all 0.2s ease;
}

/* 4. HOVER INTERACTION */
.post-content .footnote-item:hover {
  border-left: 2px solid var(--ghost-accent-color);
  padding-left: 15px;
  color: var(--color-font-one);
  opacity: 1;
}

.post-content .footnote-backref {
  color: var(--ghost-accent-color) !important;
  text-decoration: none;
  margin-left: 5px;
}

/* //////////////////////////////////////////////////////////////////////////
   XIX. PHASE 19: DEEP DIVE PROTOCOLS (Expandable Intelligence)
   ////////////////////////////////////////////////////////////////////////// */

/* 1. THE CONTAINER (The "Black Box") */
.post-content details {
  background: rgba(0, 0, 0, 0.02);
  border: 1px solid var(--color-three);
  border-left: 4px solid var(--color-font-one); /* Status Bar */
  margin: 40px 0;
  padding: 0;
  transition: all 0.3s ease;
  position: relative;
}

/* Dark mode adjustment */
@media (prefers-color-scheme: dark) {
  .post-content details {
    background: rgba(255, 255, 255, 0.02);
  }
}

/* 2. THE TRIGGER (The "Summary" Line) */
.post-content summary {
  font-family: "JetBrains Mono", monospace;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  padding: 15px 20px;
  list-style: none; /* Hide default triangle */
  outline: none;
  color: var(--color-font-two);
  text-transform: uppercase;
  letter-spacing: 1px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  user-select: none;
}

/* Hide default marker in Webkit */
.post-content summary::-webkit-details-marker {
  display: none;
}

/* 3. THE "UNLOCK" ICON 
   Adds a custom [+] or [>] indicator on the right side */
.post-content summary::after {
  content: "[ + ]";
  color: var(--ghost-accent-color);
  font-size: 12px;
  margin-left: 10px;
  opacity: 0.8;
}

.post-content details[open] summary::after {
  content: "[ - ]";
  color: var(--color-font-one);
}

/* 4. HOVER STATE (Targeting) */
.post-content summary:hover {
  background: rgba(var(--ghost-accent-color), 0.05);
  color: var(--ghost-accent-color);
}

/* 5. EXPANDED CONTENT (The "Payload") */
.post-content details[open] {
  border-left-color: var(
    --ghost-accent-color
  ); /* Status bar turns active orange */
  background: transparent;
}

.post-content details > *:not(summary) {
  padding: 20px 25px 25px;
  margin: 0;
  border-top: 1px solid rgba(125, 125, 125, 0.1);
  animation: text-scan 0.3s ease-out;
}

/* Animation for revealing text */
@keyframes text-scan {
  0% {
    opacity: 0;
    transform: translateY(-5px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* 6. LABELING THE BOX */
.post-content details::before {
  content: "ANALYSIS_LAYER // EXPAND FOR DATA";
  position: absolute;
  top: -10px;
  right: 10px;
  background: var(--color-body);
  font-family: "JetBrains Mono", monospace;
  font-size: 9px;
  color: var(--color-three);
  padding: 0 5px;
}

.post-content details[open]::before {
  content: "ANALYSIS_LAYER // ACCESS GRANTED";
  color: var(--ghost-accent-color);
}

/* //////////////////////////////////////////////////////////////////////////
   XXI. PHASE 21: THE LEXICON INTERFACE (Smart Definitions)
   ////////////////////////////////////////////////////////////////////////// */

/* 1. THE TRIGGER (The Acronym) */
.post-content dfn {
  font-style: normal;
  font-family: "JetBrains Mono", monospace;
  color: var(--color-font-one);
  border-bottom: 1px dashed var(--ghost-accent-color);
  cursor: help;
  position: relative;
  text-decoration: none;
}

/* 2. THE POPUP CONTAINER (Hidden by default) */
.post-content dfn::after {
  content: attr(title); /* Pulls text from the title attribute */
  display: none; /* Hidden */
  position: absolute;
  bottom: 130%; /* Sit above the word */
  left: 50%;
  transform: translateX(-50%);

  /* Styling the Box */
  width: 200px;
  background: var(--color-body);
  border: 1px solid var(--ghost-accent-color);
  color: var(--color-font-one);
  padding: 10px;

  /* Typography */
  font-family: "IBM Plex Sans", sans-serif;
  font-size: 11px;
  line-height: 1.4;
  text-align: center;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
  z-index: 1000;
}

/* 3. THE CONNECTOR ARROW */
.post-content dfn::before {
  content: "";
  display: none;
  position: absolute;
  bottom: 110%;
  left: 50%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: var(--ghost-accent-color) transparent transparent transparent;
  z-index: 1000;
}

/* 4. REVEAL MECHANISM */
.post-content dfn:hover::after,
.post-content dfn:hover::before {
  display: block;
  animation: fade-in-up 0.2s ease-out;
}

@keyframes fade-in-up {
  0% {
    opacity: 0;
    transform: translate(-50%, 5px);
  }
  100% {
    opacity: 1;
    transform: translate(-50%, 0);
  }
}

/* //////////////////////////////////////////////////////////////////////////
   XXII. PHASE 22: STRATEGIC AXIOMS (The Logic Statement)
   ////////////////////////////////////////////////////////////////////////// */

/* Target the alternative blockquote style in Ghost */
.post-content .kg-blockquote-alt {
  border: none !important; /* Remove standard borders */
  border-left: 2px solid var(--ghost-accent-color) !important;
  border-right: 2px solid var(--ghost-accent-color) !important;
  background: linear-gradient(
    90deg,
    rgba(var(--ghost-accent-color), 0.05),
    transparent,
    rgba(var(--ghost-accent-color), 0.05)
  );

  font-family: "Space Grotesk", sans-serif;
  font-size: 24px;
  font-weight: 700;
  text-align: center;
  letter-spacing: -0.02em;
  padding: 40px !important;
  margin: 60px 0 !important;
  color: var(--color-font-one);
  position: relative;
}

/* The "axiom" label */
.post-content .kg-blockquote-alt::before {
  content: "/// CORE_AXIOM";
  display: block;
  font-family: "JetBrains Mono", monospace;
  font-size: 10px;
  color: var(--ghost-accent-color);
  margin-bottom: 20px;
  letter-spacing: 2px;
}

/* The "Signature" line */
.post-content .kg-blockquote-alt::after {
  content: "Logic Verification: TRUE";
  display: block;
  font-family: "JetBrains Mono", monospace;
  font-size: 9px;
  color: var(--color-three);
  margin-top: 20px;
  opacity: 0.6;
}

/* //////////////////////////////////////////////////////////////////////////
   XXIII. PHASE 23: AUDIO INTELLIGENCE (The Field Recorder)
   ////////////////////////////////////////////////////////////////////////// */

.post-content .kg-audio-card {
  background: #111 !important; /* Always dark, like hardware */
  border: 1px solid #333;
  border-radius: 0;
  padding: 20px;
  box-shadow: inset 0 0 20px rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
}

/* 1. TEXT DISPLAY (The LCD Screen) */
.post-content .kg-audio-title {
  color: var(--ghost-accent-color) !important; /* Terminal Green/Orange */
  font-family: "JetBrains Mono", monospace;
  font-size: 12px;
  text-transform: uppercase;
  background: #000;
  padding: 5px 10px;
  border: 1px solid #333;
  margin-bottom: 5px;
  width: fit-content;
}

/* 2. DURATION / META */
.post-content .kg-audio-duration {
  font-family: "JetBrains Mono", monospace;
  color: #fff;
  font-size: 10px;
}

/* 3. THE PLAY BUTTON (Tactile) */
.post-content .kg-audio-player-container {
  /* Adjusting internal Ghost layout */
  background: transparent !important;
}

.post-content .kg-audio-play-icon svg {
  fill: var(--ghost-accent-color) !important;
}

/* 4. "RECORDING" INDICATOR */
.post-content .kg-audio-card::after {
  content: "REC ●";
  position: absolute;
  top: 15px;
  right: 15px;
  color: #ff0000;
  font-family: "JetBrains Mono", monospace;
  font-size: 9px;
  animation: blink-rec 1s infinite;
}

@keyframes blink-rec {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/* //////////////////////////////////////////////////////////////////////////
   XXV. PHASE 24: THE "VERSION CONTROL" VISUALIZER (Git Diff Styling)
   Business strategy evolves. Use <ins> and <del> tags in your posts
   to show "Strategy Pivots" or "Deprecated Tech" exactly like Github Diffs.
   ////////////////////////////////////////////////////////////////////////// */

/* The "Added/New Strategy" Block */
.post-content ins {
  text-decoration: none;
  background-color: rgba(0, 255, 65, 0.1); /* Terminal Green Tint */
  border-bottom: 1px solid #00ff41;
  color: var(--color-font-one);
  padding: 2px 5px;
  margin: 0 2px;
  position: relative;
}

/* The "+ " Indicator */
.post-content ins::before {
  content: "+";
  font-family: "JetBrains Mono", monospace;
  font-size: 10px;
  margin-right: 3px;
  color: #00ff41;
  font-weight: bold;
}

/* The "Deprecated/Old Strategy" Block */
.post-content del {
  text-decoration: line-through;
  text-decoration-color: rgba(255, 0, 0, 0.5);
  background-color: rgba(255, 0, 0, 0.05);
  color: var(--color-three);
  padding: 2px 5px;
  opacity: 0.7;
}

/* //////////////////////////////////////////////////////////////////////////
   XXIX. PHASE 25: THE INSIGHT MATRIX (Radical Unordered Lists)
   Transforms <ul> into a tactical grid of intelligence modules.
   ////////////////////////////////////////////////////////////////////////// */

/* 1. THE GRID CONTAINER */
.post-content ul {
  display: grid;
  grid-template-columns: repeat(
    auto-fit,
    minmax(280px, 1fr)
  ); /* Responsive Grid */
  gap: 20px;
  padding: 0 !important;
  margin: 60px 0 !important;
  border: none !important; /* Remove Phase 12 border */
  list-style: none !important;
}

/* 2. THE MODULE (List Item) */
.post-content ul li {
  position: relative;
  background: rgba(125, 125, 125, 0.03);
  border: 1px solid var(--color-three);
  padding: 25px 20px 25px 25px;
  margin: 0 !important; /* Reset margin */
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);

  /* THE HARDWARE CUT (Clipped Corner) */
  clip-path: polygon(
    0 0,
    100% 0,
    100% calc(100% - 15px),
    calc(100% - 15px) 100%,
    0 100%
  );
}

/* 3. THE "STATUS LIGHT" (Replaces the Bullet) */
.post-content ul li::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background: var(--color-three); /* Default Grey */
  transition: background 0.3s ease;

  /* Override Phase 12 Square Node */
  border: none !important;
  box-shadow: none !important;
}

/* 4. METADATA HEADER (Auto-generated "MOD.0X") */
.post-content ul li::after {
  content: "MOD. // DATA POINT";
  position: absolute;
  bottom: 5px;
  right: 20px;
  font-family: "JetBrains Mono", monospace;
  font-size: 8px;
  color: var(--color-three);
  opacity: 0.5;
  letter-spacing: 1px;
}

/* 5. INTERACTION (The "Active" State) */
.post-content ul li:hover {
  transform: translateY(-5px);
  background: rgba(var(--ghost-accent-color), 0.05); /* Tint background */
  border-color: var(--ghost-accent-color);
}

.post-content ul li:hover::before {
  background: var(--ghost-accent-color); /* Status bar turns orange */
  box-shadow: 0 0 15px var(--ghost-accent-color);
}

/* SAFETY: Nested Lists (Sub-modules) revert to standard stack */
.post-content ul li ul {
  display: block;
  grid-template-columns: none;
  margin-top: 15px !important;
  border-left: 1px solid rgba(125, 125, 125, 0.2) !important;
}
.post-content ul li ul li {
  clip-path: none;
  background: transparent;
  border: none;
  padding: 5px 0 5px 15px;
}

/* //////////////////////////////////////////////////////////////////////////
   XXX. PHASE 26: THE CRITICAL PATH (Radical Ordered Lists)
   Transforms <ol> into a vertical timeline execution protocol.
   ////////////////////////////////////////////////////////////////////////// */

/* 1. THE TIMELINE CONTAINER */
.post-content ol {
  display: flex;
  flex-direction: column;
  gap: 0; /* Connected flow */
  margin: 60px 0 !important;
  padding: 0 !important;
  counter-reset: exec-counter;
  position: relative;
  border: none !important; /* Override Phase 27 */
}

/* 2. THE STEP (List Item) */
.post-content ol li {
  position: relative;
  margin: 0 !important;
  padding: 0 0 8px 60px !important; /* Space for the timestamp on left */
  list-style: none;
  border: none !important;
}

/* 3. THE "BUS LINE" (Vertical Connector) */
.post-content ol li::after {
  content: "";
  position: absolute;
  top: 5px; /* Start slightly down */
  bottom: -5px; /* Connect to next item */
  left: 24px; /* Center of the number tag */
  width: 1px;
  background: repeating-linear-gradient(
    to bottom,
    var(--color-three) 0px,
    var(--color-three) 2px,
    transparent 2px,
    transparent 8px
  );
  z-index: 0;
}

/* Hide line on last item */
.post-content ol li:last-child::after {
  display: none;
}

/* 4. THE "TIMESTAMP" TAG (Replaces Number) */
.post-content ol li::before {
  counter-increment: exec-counter;
  content: counter(exec-counter, decimal-leading-zero); /* 01, 02... */

  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;

  /* Visual Styling */
  font-family: "JetBrains Mono", monospace;
  font-weight: 700;
  font-size: 14px;
  color: var(--color-body);
  background: var(--color-font-one); /* Black box */

  width: 50px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;

  /* Tech Border */
  border: 1px solid var(--color-font-one);
  border-radius: 0;
  clip-path: polygon(0 0, 100% 0, 100% 70%, 85% 100%, 0 100%); /* Cut corner */
}

/* 5. INTERACTION (Targeting) */
.post-content ol li:hover::before {
  background: var(--ghost-accent-color);
  border-color: var(--ghost-accent-color);
  color: #fff;
  content: ">> " counter(exec-counter, decimal-leading-zero); /* Change text on hover */
}

/* 6. CONTENT HIGHLIGHT */
.post-content ol li:hover {
  /* Subtle highlight of the text block */
  background: linear-gradient(
    90deg,
    transparent,
    rgba(var(--ghost-accent-color), 0.02)
  );
}

/* //////////////////////////////////////////////////////////////////////////
   XXX. PHASE 27: THE STRATEGIC INTERCEPT (Radical Blockquotes)
   Replaces standard quotes with "Decrypted Data Packets"
   ////////////////////////////////////////////////////////////////////////// */

/* 1. THE CONTAINER (The "Packet") */
.post-content blockquote {
  position: relative;
  margin: 80px 0 !important; /* Heavy vertical breathing room */
  padding: 40px 40px 40px 70px !important; /* Deep left padding for the "Spine" */
  border: none !important; /* Wipe previous borders */

  /* The "Encrypted" Background Pattern */
  background: repeating-linear-gradient(
    45deg,
    rgba(125, 125, 125, 0.03),
    rgba(125, 125, 125, 0.03) 10px,
    rgba(125, 125, 125, 0.05) 10px,
    rgba(125, 125, 125, 0.05) 20px
  );

  overflow: hidden; /* Contains the scanline */
  transition: transform 0.3s var(--ease-out);
}

/* 2. THE DATA SPINE (The Left Interface) */
.post-content blockquote::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 6px; /* Thick, industrial bar */
  height: 100%;
  background: var(--color-three); /* Default: Cold/Grey */
  transition:
    width 0.3s ease,
    background 0.2s ease;
  z-index: 2;
}

/* 3. THE HEADER LABEL (Dynamic Status) */
.post-content blockquote::after {
  content: "/// IMPORTANT // NOTE";
  position: absolute;
  top: 0;
  left: 6px; /* Sits exactly next to the spine */

  font-family: "JetBrains Mono", monospace;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;

  background: var(--color-three); /* Matches spine */
  color: var(--color-body);
  padding: 4px 12px;

  transition: all 0.2s ease;
  z-index: 2;
}

/* 4. TYPOGRAPHY (The "Axiom" Font) */
.post-content blockquote p {
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 26px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.03em !important;
  color: var(--color-font-one) !important;

  /* Remove default margins */
  margin-top: 15px !important;
  margin-bottom: 0 !important;

  position: relative;
  z-index: 1;
}

/* 5. THE "CURSOR" (Blinking block at end of text) */
.post-content blockquote p::after {
  content: " █";
  font-size: 0.8em;
  color: var(--ghost-accent-color);
  animation: blink-cursor 1s steps(2) infinite;
  opacity: 0; /* Hidden by default */
}

@keyframes blink-cursor {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

/* 6. INTERACTION STATE: "LOCK ON" */
.post-content blockquote:hover {
  transform: translateX(10px); /* Physically shifts the module */
}

/* The Spine Ignites */
.post-content blockquote:hover::before {
  background: var(--ghost-accent-color);
  width: 10px; /* Expands slightly */
  box-shadow: 0 0 15px var(--ghost-accent-color); /* Glow effect */
}

/* The Header Updates */
.post-content blockquote:hover::after {
  content: "/// IMPORTANT // NOTE";
  background: var(--ghost-accent-color);
  color: #fff;
  width: 100%; /* Expands to cover the top edge? Optional. */
}

/* The Cursor Appears */
.post-content blockquote:hover p::after {
  opacity: 1;
}

/* 7. RADICAL: THE "SCANLINE" SWEEP 
   A laser line scans down the quote when you hover over it. */

.post-content blockquote:hover {
  background-image: linear-gradient(
    180deg,
    transparent 0%,
    rgba(var(--ghost-accent-color), 0.05) 50%,
    transparent 100%
  );
  background-size: 100% 200%;
  animation: scan-sweep 2s linear infinite;
}

@keyframes scan-sweep {
  0% {
    background-position: 0% -100%;
  }
  100% {
    background-position: 0% 200%;
  }
}

/* //////////////////////////////////////////////////////////////////////////
   XXXI. PHASE 28: ARCHIVE NAVIGATOR (Load More Text)
   ////////////////////////////////////////////////////////////////////////// */

/* Target the container holding the load more button */
.pagination-section {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}

/* Insert the text below the button using a pseudo-element */
.pagination-section::after {
  content: "/// Tải thêm"; /* The text you requested */
  text-transform: uppercase !important;

  /* Typography matches your Phase 11 & Phase 4 styles */
  font-family: "JetBrains Mono", monospace;
  font-size: 9px;
  letter-spacing: 0.15em;
  color: var(--color-font-two);

  /* Positioning */
  display: block;
  margin-top: 25px; /* Spacing between button and text */
  opacity: 0.6;

  /* Optional: Animate opacity on hover */
  transition: opacity 0.3s ease;
}

/* Brighten the text when the user hovers over the area */
.pagination-section:hover::after {
  opacity: 1;
  color: var(--ghost-accent-color); /* Turns orange/accent on hover */
}

/* //////////////////////////////////////////////////////////////////////////
   TECH STACK VISUALIZER
   Turns bottom tags into a dependency tree.
   ////////////////////////////////////////////////////////////////////////// */

.global-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding-top: 20px;
  border-top: 2px solid var(--color-font-one); /* Heavy separator */
  position: relative;
  max-width: var(--max-width-post-wrap) !important;
  width: 100%;
  box-sizing: border-box;
  margin-right: auto;
  padding-right: 20px;
}

/* The "Label" */
.global-tags::before {
  content: "CHỦ ĐỀ //";
  width: 100%;
  display: block;
  font-family: "JetBrains Mono", monospace;
  font-size: 10px;
  margin-bottom: 10px;
  opacity: 0.6;
}

/* The Tag Pills */
.global-tags a {
  position: relative;
  padding: 5px 15px 5px 25px; /* Room for the dot */
  background: var(--color-one); /* Light grey background */
  color: var(--color-font-one);
  font-family: "JetBrains Mono", monospace;
  font-size: 11px !important;
  border-radius: 4px; /* Slight rounding like a chip */
  margin: 0 !important;
  border: 1px solid transparent;
}

/* The "#" prefix inside the tag */
.global-tags a::before {
  content: "#";
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--ghost-accent-color);
  font-weight: 700;
  font-size: 12px;
  line-height: 1;
}

/* Hover State */
.global-tags a:hover {
  background: var(--color-body);
  border-color: var(--ghost-accent-color);

  /* THE FIX: Forces text to be the main font color (Black in light mode / White in dark mode) */
  color: var(--color-font-one) !important;

  transform: translateY(-2px);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

/* Tag label max-width */
.global-tags::before {
  max-width: 100%;
}

/* //////////////////////////////////////////////////////////////////////////
   THE TERMINAL SIGNOFF
   Adds a 'End of Transmission' marker to the final paragraph.
   ////////////////////////////////////////////////////////////////////////// */

.post-content > p:last-of-type::after {
  content: " ■"; /* Solid block cursor */
  display: inline-block;
  color: var(--ghost-accent-color);
  margin-left: 10px;
  animation: blink-cursor 1s steps(2) infinite;
}

/* //////////////////////////////////////////////////////////////////////////
   THE SEMANTIC ENTITY SYSTEM
   Hijacks the <u> tag to create "Entity Pills" for company names/actors.
   ////////////////////////////////////////////////////////////////////////// */

.post-content u {
  text-decoration: none; /* Remove the underline */

  /* The "Capsule" Look */
  display: inline-block;
  background: transparent;
  border: 1px solid var(--color-font-two);
  color: var(--color-font-one);

  font-family: "JetBrains Mono", monospace;
  font-size: 0.85em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;

  padding: 0px 8px;
  margin: 0 2px;
  border-radius: 50px; /* Full pill shape */

  vertical-align: middle;
  transition: all 0.2s ease;
}

/* Hover Interaction */
.post-content u:hover {
  background: var(--color-font-one);
  color: var(--color-body);
  border-color: var(--color-font-one);
  cursor: crosshair;
}

/* //////////////////////////////////////////////////////////////////////////
   PHASE 28: THE DATA LATCH (Click-Activated Artifacts)
   Usage: <span class="artifact" data-tip="Text goes here"></span>
   ////////////////////////////////////////////////////////////////////////// */

.post-content .artifact {
  position: relative;
  display: inline-block;
  cursor: pointer;
  margin-left: 4px;
  margin-right: 2px; /* Adds breathing room on the right too */

  /* THE FIX: Lifts the element up to match text height */
  vertical-align: 2px;

  user-select: none;
  -webkit-tap-highlight-color: transparent;
}

/* 1. THE TRIGGER BUTTON */
.post-content .artifact::before {
  content: "•••";
  font-family: "JetBrains Mono", monospace;
  font-size: 10px;
  letter-spacing: -1px;
  color: var(--color-font-two);
  background: rgba(125, 125, 125, 0.1);
  border: 1px solid var(--color-three);

  /* THE FIX: Tighter padding and line-height to prevent droop */
  padding: 2px 6px 1px 6px;
  line-height: 1;

  border-radius: 12px;
  transition: all 0.2s var(--ease-spring);
}

/* 2. ACTIVE STATE (When Clicked) */
/* This class is added via JavaScript */
.post-content .artifact.active::before {
  content: "CLOSE"; /* Changes text to indicate how to exit */
  background: var(--ghost-accent-color);
  border-color: var(--ghost-accent-color);
  color: #fff;
  padding: 0 8px;
  box-shadow: 0 0 10px var(--ghost-accent-color);
}

/* 3. THE POPUP WINDOW */
.post-content .artifact::after {
  content: attr(data-tip);

  /* Hidden State */
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, 15px) scale(0.95);

  /* Positioning */
  position: absolute;
  bottom: 150%;
  left: 50%;
  z-index: 1000;

  /* Dimensions */
  width: max-content;
  max-width: 280px; /* Slightly wider for reading */

  /* Visual Styling */
  background: var(--color-body);
  color: var(--color-font-one);
  font-family: "IBM Plex Sans", sans-serif;
  font-size: 13px;
  line-height: 1.5;
  padding: 15px;
  border: 1px solid var(--ghost-accent-color);
  border-left: 4px solid var(--ghost-accent-color);
  box-shadow: 0 15px 40px -5px rgba(0, 0, 0, 0.3);

  transition: all 0.25s var(--ease-spring);
  pointer-events: none;
}

/* 4. REVEAL STATE (Only when class 'active' is present) */
.post-content .artifact.active::after {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0) scale(1);
  pointer-events: auto; /* Allows selecting text inside the popup */
}

/* //////////////////////////////////////////////////////////////////////////
   PHASE 29: THE "HIGHLIGHTER" TICKER (Final Contrast Fix)
   - Visual: Background fills with Accent Color on hover.
   - Text: Forces WHITE text on hover for perfect readability.
   - Spacing: Snaps tight to the header (Zero Top Margin).
   ////////////////////////////////////////////////////////////////////////// */

/* 1. THE STREAM CONTAINER */
.pinned-section {
  display: flex;
  height: 160px !important;
  width: 100%;

  /* SPACING FIX: ZERO top margin to hug the header line */
  margin: 0 0 10px 0 !important;

  padding: 0 !important;
  background: var(--color-four);
  border-bottom: 1px solid var(--color-three);
  overflow: hidden;

  /* Optional: If you want to remove the top border of the ticker itself 
       since it sits so close to the header line: */
  border-top: none !important;
}

/* 2. FLATTEN STRUCTURE */
.pinned-pages,
.pinned-posts {
  display: contents !important;
}

.pinned-pages h2,
.pinned-posts::before {
  display: none !important;
}

/* 3. COLUMN LAYOUT */
.pinned-section article {
  flex: 1;
  width: 25%;
  height: 100%;

  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: var(--space-5) !important;
  box-sizing: border-box;

  border-right: 1px solid rgba(125, 125, 125, 0.15);
  background: var(--color-four);

  /* Smooth transition for the Flash effect */
  transition: all 0.3s var(--ease-spring);
}

/* 4. LABELS */
.pinned-pages article {
  background: rgba(var(--ghost-accent-color), 0.03);
  border-right: 2px solid var(--color-font-one);
}

.pinned-pages article::before {
  content: "CODEPHORIA // ANNOUNCEMENT";
  font-family: "JetBrains Mono", monospace;
  font-size: 9px;
  font-weight: 700;
  color: var(--ghost-accent-color);
  margin-bottom: 8px;
  display: block;
  transition: color 0.2s ease;
}

.pinned-posts article::before {
  content: "FEATURED // READ";
  font-family: "JetBrains Mono", monospace;
  font-size: 9px;
  color: var(--color-three);
  margin-bottom: 8px;
  display: block;
  opacity: 0.6;
  transition: color 0.2s ease;
}

/* Limit to 4 columns */
.pinned-posts article:nth-of-type(n + 4) {
  display: none !important;
}

/* 5. TYPOGRAPHY */
.pinned-section h3 {
  margin: 0 !important;
}

.pinned-section h3 a {
  font-family: "Space Grotesk", sans-serif;
  font-size: 17px !important;
  line-height: 1.25;
  font-weight: 600;
  color: var(--color-font-one); /* Default Black text */
  border: none !important;
  text-decoration: none !important;

  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-top: 6px;
  margin-bottom: 6px;
  transition: color 0.2s ease;
}

/* 6. HOVER INTERACTION (The Fix) */
.pinned-section article:hover {
  /* BACKGROUND: Fills with Teal/Orange (Accent Color) */
  background: var(--ghost-accent-color) !important;
  cursor: pointer;
  flex: 1.4 !important; /* Slight expansion */
}

/* TEXT VISIBILITY FIX: Force White Text on Hover */
.pinned-section article:hover h3 a {
  color: #ffffff !important;
}

/* LABEL VISIBILITY FIX: Force White Label on Hover */
.pinned-section article:hover::before {
  color: rgba(255, 255, 255, 0.8) !important;
  opacity: 1;
}

/* 7. MOBILE FALLBACK */
@media (max-width: 900px) {
  .pinned-section {
    flex-direction: column;
    height: auto !important;
    margin: 20px 0 !important;
  }
  .pinned-section article {
    width: 100%;
    border-right: none;
    border-bottom: 1px solid rgba(125, 125, 125, 0.15);
    padding: var(--space-5) !important;
  }
  .pinned-section article:hover {
    background: transparent !important; /* Disable flash on mobile */
    flex: auto !important;
  }
  .pinned-section article:hover h3 a {
    color: var(--color-font-one) !important; /* Keep text black on mobile */
  }
}

/* //////////////////////////////////////////////////////////////////////////
   PHASE 30: DATA VISUALIZATION MODULE (Quantitative Bar Charts)
   ////////////////////////////////////////////////////////////////////////// */

/* 1. THE CHART CONTAINER */
.post-content .quant-chart {
  display: flex;
  flex-direction: column;
  gap: 15px;
  margin: 60px 0;
  padding: 25px;
  border: 1px solid var(--color-three);
  background: rgba(0, 0, 0, 0.02);
  font-family: "JetBrains Mono", monospace;
}

/* Header for the chart */
.post-content .quant-chart::before {
  content: "DATA_VISUALIZATION // ANALYSIS";
  display: block;
  font-size: 9px;
  color: var(--ghost-accent-color);
  letter-spacing: 1px;
  margin-bottom: 10px;
  opacity: 0.8;
}

/* 2. THE BAR WRAPPER */
.post-content .quant-row {
  display: flex;
  align-items: center;
  gap: 20px;
}

/* 3. THE LABEL (Left Side) */
.post-content .quant-label {
  flex: 0 0 100px; /* Fixed width for labels */
  font-size: 11px;
  text-align: right;
  color: var(--color-font-two);
  text-transform: uppercase;
}

/* 4. THE BAR TRACK */
.post-content .quant-track {
  flex-grow: 1;
  height: 24px;
  background: rgba(125, 125, 125, 0.1);
  position: relative;
  /* Tech corners */
  clip-path: polygon(0 0, 100% 0, 100% 70%, 98% 100%, 0 100%);
}

/* 5. THE VALUE BAR (Driven by inline style --w: 75%) */
.post-content .quant-fill {
  height: 100%;
  width: var(--w); /* Magic Variable */
  background: var(--color-font-one);
  position: relative;
  transition: width 1s var(--ease-spring);
  min-width: 2px;
}

/* Pattern overlay for the bar */
.post-content .quant-fill::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: repeating-linear-gradient(
    45deg,
    transparent,
    transparent 2px,
    rgba(0, 0, 0, 0.2) 2px,
    rgba(0, 0, 0, 0.2) 4px
  );
}

/* 6. THE DATA TAG (Right Side) */
.post-content .quant-value {
  position: absolute;
  right: 5px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--color-body); /* Inverted text color */
  font-size: 9px;
  font-weight: 700;
  z-index: 2;
  mix-blend-mode: difference; /* Ensures visibility on any background */
}

/* 7. INTERACTION: HOVER TO HIGHLIGHT */
.post-content .quant-row:hover .quant-fill {
  background: var(--ghost-accent-color);
}

/* //////////////////////////////////////////////////////////////////////////
   PHASE 30: DESKTOP MARGINALIA (Side Notes)
   ////////////////////////////////////////////////////////////////////////// */

/* 1. DESKTOP IMPLEMENTATION (> 1400px) */
@media (min-width: 1450px) {
  .post-content {
    overflow: visible !important; /* Allow breakout */
  }

  .post-content .marginalia {
    float: right;
    clear: right;
    margin-right: -240px; /* Push into the ether */
    width: 180px;

    position: relative;
    margin-top: 5px;
    padding: 15px;

    /* Visuals */
    font-family: "JetBrains Mono", monospace;
    font-size: 10px;
    line-height: 1.4;
    color: var(--color-font-two);
    border-left: 1px solid var(--ghost-accent-color);
    background: linear-gradient(
      90deg,
      rgba(var(--ghost-accent-color), 0.05),
      transparent
    );
  }

  /* The Connector Line */
  .post-content .marginalia::before {
    content: "";
    position: absolute;
    top: 0;
    left: -50px; /* Reach back to the text */
    width: 50px;
    height: 1px;
    background: var(--ghost-accent-color);
    opacity: 0.3;
  }

  /* The "Analyst" Label */
  .post-content .marginalia::after {
    content: "/// ANALYST_NOTE";
    display: block;
    margin-bottom: 5px;
    color: var(--ghost-accent-color);
    font-weight: 700;
    letter-spacing: 0.5px;
  }
}

/* 2. MOBILE FALLBACK (Inline Callout) */
@media (max-width: 1449px) {
  .post-content .marginalia {
    display: block;
    margin: 20px 0;
    padding: 15px;
    border: 1px dashed var(--ghost-accent-color);
    font-family: "JetBrains Mono", monospace;
    font-size: 11px;
    background: rgba(var(--ghost-accent-color), 0.02);
  }
}

/* //////////////////////////////////////////////////////////////////////////
   PHASE 31: THE SPECIFICATION LEDGER (Definition Lists)
   ////////////////////////////////////////////////////////////////////////// */

/* 1. THE GRID CONTAINER */
.post-content dl {
  display: grid !important;
  grid-template-columns: max-content 1fr; /* Auto-width label, Fluid data */
  gap: 8px 20px; /* Spacing between columns */

  background: linear-gradient(
    90deg,
    rgba(125, 125, 125, 0.03) 0%,
    transparent 100%
  );
  border: 1px solid var(--color-three);
  border-left: 4px solid var(--color-font-one); /* Heavy Anchor Line */

  padding: 25px !important;
  margin: 50px 0 !important;
}

/* 2. THE PARAMETER (Left Column) */
.post-content dl dt {
  /* Override existing float styles */
  float: none !important;
  clear: none !important;
  width: auto !important;
  text-align: left !important;
  overflow: visible !important;
  margin: 0 !important;

  /* Tech Styling */
  font-family: "JetBrains Mono", monospace;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--ghost-accent-color);
  letter-spacing: 1px;

  display: flex;
  align-items: center;
}

/* Add a colon automatically */
.post-content dl dt::after {
  content: ":";
  margin-left: 2px;
  color: var(--color-three);
}

/* 3. THE VALUE (Right Column) */
.post-content dl dd {
  margin: 0 !important;
  padding-left: 0 !important;

  font-family: "IBM Plex Sans", sans-serif;
  font-size: 14px;
  color: var(--color-font-one);

  /* The "Line Reader" border */
  border-bottom: 1px dashed rgba(125, 125, 125, 0.2);
  padding-bottom: 4px;
}

/* Remove border from last item */
.post-content dl dd:last-child {
  border-bottom: none;
}

/* 4. HOVER INTERACTION */
/* Highlights the specific row for precision reading */
.post-content dl:hover dt,
.post-content dl:hover dd {
  opacity: 0.5;
  transition: opacity 0.2s;
}

.post-content dl dt:hover,
.post-content dl dt:hover + dd {
  opacity: 1;
  cursor: crosshair;
}

/* //////////////////////////////////////////////////////////////////////////
   PHASE 32: BOOT SEQUENCE ANIMATION 
   Sequentially reveals page sections on load.
   ////////////////////////////////////////////////////////////////////////// */

/* 1. DEFINE THE ANIMATION */
@keyframes terminal-boot {
  0% {
    opacity: 0;
    transform: translateY(10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* 2. APPLY WITH DELAYS
   Using 'both' fill-mode instead of hardcoded 'opacity: 0' ensures content 
   isn't permanently hidden if the animation fails. */

/* The Header (Immediate) */
.header-wrap {
  animation: terminal-boot 0.5s var(--ease-out) both;
}

/* The Ticker/Pins (0.2s delay) */
.pinned-section {
  animation: terminal-boot 0.5s var(--ease-out) 0.2s both;
}

/* The Hero Dossier (0.4s delay) */
.item.is-hero {
  animation: terminal-boot 0.5s var(--ease-out) 0.4s both;
}

/* The Feed (0.6s delay) */
.loop-wrap {
  animation: terminal-boot 0.5s var(--ease-out) 0.6s both;
}

/* The Footer (0.8s delay) */
.footer-section {
  animation: terminal-boot 0.5s var(--ease-out) 0.8s both;
}

/* //////////////////////////////////////////////////////////////////////////
   XXXIII. PHASE 33: RELATED INTELLIGENCE GRID (Scoped Fix)
   Restricts the design override to ONLY the post footer, protecting the homepage.
   ////////////////////////////////////////////////////////////////////////// */

/* 1. THE CONTAINER (Target .global-special ONLY on Post Pages) */
body.post-template .global-special {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important; /* Force single line */
  height: 160px !important; /* Fixed Height to match Image 1 */
  width: 100% !important;
  max-width: var(--max-width-global-wrap) !important;
  margin: 60px auto 0 auto !important;

  background: #ffffff !important;

  /* OVERRIDE THE CYAN BORDER from Image 2 */
  border-top: 1px solid var(--color-three) !important;
  border-bottom: 1px solid var(--color-three) !important;

  padding: 0 !important;
  overflow: hidden !important;
  box-shadow: none !important;
}

/* 2. HIDE THE HEADER (The "You might also like" text) */
body.post-template .global-special h2,
body.post-template .global-special > h3 {
  display: none !important;
}

/* 3. THE ARTICLE CELL */
body.post-template .global-special article {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;

  padding: 0 25px !important;
  margin: 0 !important;
  background: var(--color-four);
  border-radius: 0 !important;

  /* Reset Codephoria specific borders */
  border-left: none !important;

  /* Apply Industrial Grid Lines */
  border-right: 1px solid rgba(125, 125, 125, 0.15) !important;
  border-top: none !important;
  border-bottom: none !important;

  /* Physics */
  transition: all 0.3s var(--ease-spring) !important;
}

/* Remove border from the last item */
body.post-template .global-special article:last-of-type {
  border-right: none !important;
}

/* 4. THE LABEL (Simulating "RELATED // PREVIOUS POSTS") */
body.post-template .global-special article::before {
  content: "RELATED // PREVIOUS POSTS";
  display: block;
  font-family: "JetBrains Mono", monospace;
  font-size: 9px;
  font-weight: 700;
  color: var(--color-three);
  opacity: 0.6;
  margin-bottom: 10px;
  letter-spacing: 1px;
  transition: color 0.2s ease;
}

/* 5. TYPOGRAPHY (Titles) */
body.post-template .global-special h3,
body.post-template .global-special h3 a {
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 17px !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
  color: var(--color-font-one) !important;

  text-decoration: none !important;
  border: none !important;
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;

  /* Clamp text to 3 lines */
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* 6. HIDE EXTRAS (Dates, Excerpts) */
body.post-template .global-special .global-meta,
body.post-template .global-special .global-tags,
body.post-template .global-special p {
  display: none !important;
}

/* 7. INTERACTION (The Highlighter Effect) */
body.post-template .global-special article:hover {
  background: var(--ghost-accent-color) !important; /* Orange Fill */
  flex: 1.4 !important; /* Expand Cell */
  cursor: pointer;
}

/* Text White on Hover */
body.post-template .global-special article:hover h3,
body.post-template .global-special article:hover h3 a {
  color: #ffffff !important;
}

/* Label White on Hover */
body.post-template .global-special article:hover::before {
  color: rgba(255, 255, 255, 0.8) !important;
  opacity: 1;
}

/* 8. MOBILE FALLBACK */
@media (max-width: 900px) {
  body.post-template .global-special {
    flex-direction: column !important;
    height: auto !important;
    border-bottom: none !important;
    border-top: none !important;
  }
  body.post-template .global-special article {
    width: 100% !important;
    border-right: none !important;
    border-bottom: 1px solid rgba(125, 125, 125, 0.15) !important;
    padding: 30px 25px !important;
  }
  body.post-template .global-special article:hover {
    background: transparent !important;
    flex: 1 !important;
  }
  body.post-template .global-special article:hover h3,
  body.post-template .global-special article:hover h3 a {
    color: var(--color-font-one) !important;
  }
}

/* //////////////////////////////////////////////////////////////////////////
   EXTERNAL SIGNAL PROTOCOL (Hyperlink Upgrades)
   ////////////////////////////////////////////////////////////////////////// */

/* 1. THE BASE LINK STYLE */
.post-content a:not(.global-button):not(.kg-btn) {
  color: var(--color-font-one);
  text-decoration: none !important;
  border-bottom: 1px solid rgba(125, 125, 125, 0.3) !important;
  transition: all 0.2s var(--ease-spring);
  position: relative;
  padding: 0 2px;
}

/* 2. THE SIGNAL INDICATOR (External Icon) */
/* This automatically detects links that start with 'http' */
.post-content a[href^="http"]:not([href*="yourdomain.com"])::after {
  content: "↗";
  display: inline-block;
  font-family: var(--font-family-four); /* JetBrains Mono */
  font-size: 0.7em;
  margin-left: 4px;
  color: var(--ghost-accent-color); /* Strategic Orange */
  vertical-align: super;
  opacity: 0.7;
  transition: transform 0.2s ease;
}

/* 3. INTERACTION: THE "HIGHLIGHTER" EFFECT */
.post-content a:not(.global-button):not(.kg-btn):hover {
  background-color: var(--ghost-accent-color) !important;
  color: #ffffff !important; /* Forces white text for contrast */
  border-bottom-color: transparent !important;
  text-decoration: none !important;
  /* Optional: Slight lift effect */
  transform: translateY(-1px);
}

/* 4. HOVER ANIMATION FOR SIGNAL ICON */
.post-content a:hover::after {
  transform: translate(2px, -2px);
  opacity: 1;
  color: #ffffff !important; /* Matches the text on hover */
}

/* //////////////////////////////////////////////////////////////////////////
   LEXICON MARGINALIA (Side-Note Definitions)
   ////////////////////////////////////////////////////////////////////////// */

@media (min-width: 1450px) {
  /* The Definition Wrapper */
  .post-content .definition {
    float: right;
    clear: right;
    margin-right: -260px; /* Pushed into the margin */
    width: 200px;
    position: relative;
    margin-top: -5px; /* Pulls it up to align with the word */
    padding: 15px;

    font-family: "JetBrains Mono", monospace;
    font-size: 10px;
    line-height: 1.5;
    color: var(--color-font-one);
    border-left: 2px solid var(--ghost-accent-color);
    background: rgba(var(--ghost-accent-color), 0.03);
    z-index: 10;
  }

  /* The "Term" Label inside the note */
  .post-content .definition::before {
    content: "TERM_DEF //";
    display: block;
    color: var(--ghost-accent-color);
    font-weight: 700;
    margin-bottom: 5px;
    letter-spacing: 1px;
  }

  /* Highlight the word in the main text when hovering the note */
  .post-content .definition:hover {
    background: rgba(var(--ghost-accent-color), 0.08);
    cursor: crosshair;
  }
}

/* Mobile Fallback: Converts to a dashed-line callout within the text flow */
@media (max-width: 1449px) {
  .post-content .definition {
    display: block;
    margin: 20px 40px;
    padding: 12px;
    border: 1px dashed var(--color-three);
    font-family: "JetBrains Mono", monospace;
    font-size: 11px;
    background: transparent;
  }
  .post-content .definition::before {
    content: "DEFINITION:";
    color: var(--ghost-accent-color);
    margin-right: 8px;
  }
}

/* //////////////////////////////////////////////////////////////////////////
   XXXIV. ARTIFACT PROTECTION PROTOCOL (The Fix)
   Restores standard formatting for custom HTML blocks
   ////////////////////////////////////////////////////////////////////////// */

/* 1. Fix the Code Block Scrolling (Global Fix) */
.post-content pre {
  overflow-x: auto !important; /* Enables horizontal scrollbar */
  overflow-y: hidden;
}

/* 2. Create a "Clean" Wrapper Class 
   Wrap your HTML artifacts in <div class="artifact-clean"> ... </div> 
*/
.post-content .artifact-clean {
  /* Reset Width & Overflow */
  max-width: 100%;
  overflow-x: auto; /* Scroll if too wide */
  overflow-y: visible;

  /* Reset Text Alignment */
  text-align: left !important;
}

/* Restore Images inside the artifact */
.post-content .artifact-clean img {
  filter: none !important;
  mix-blend-mode: normal !important;
  opacity: 1 !important;
}

/* Restore Lists (Stop them from being Grids/Timelines) */
.post-content .artifact-clean ul,
.post-content .artifact-clean ol {
  display: block !important;
  grid-template-columns: none !important;
  border: none !important;
  margin: 1em 0 !important;
  padding-left: 40px !important;
  background: transparent !important;
}

.post-content .artifact-clean li {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin-bottom: 5px !important;
  clip-path: none !important;
  list-style: disc !important; /* Restore bullets */
}

.post-content .artifact-clean ol li {
  list-style: decimal !important; /* Restore numbers */
  padding-left: 0 !important;
}

/* Remove the "Timeline/Grid" pseudo-elements */
.post-content .artifact-clean ul li::before,
.post-content .artifact-clean ul li::after,
.post-content .artifact-clean ol li::before,
.post-content .artifact-clean ol li::after {
  display: none !important;
}

/* Restore Standard Paragraphs */
.post-content .artifact-clean p {
  text-align: left !important;
  hyphens: none !important;
  letter-spacing: normal !important;
}

/* Restore Border Radius */
.post-content .artifact-clean * {
  border-radius: revert !important; /* Uses browser default or your specific style */
}

/* ==========================================================================
   Codephoria Logo Hover Animation ("Đảo Sắc Nhận Diện")
   ========================================================================== */
.codephoria-brand {
  display: inline-flex;
  transition: all 0.3s var(--ease-smooth);
  letter-spacing: -0.5px; /* Syncs typography visually */
}

.codephoria-brand span {
  transition: color 0.3s var(--ease-smooth);
}

/* Default State */
.brand-cod,
.brand-e {
  color: var(--ghost-accent-color);
  font-family: "Okta Neue Bold", sans-serif !important;
}

.brand-phoria {
  color: var(
    --color-font-one
  ); /* Adapts to light/dark theme instead of fixed white */
  font-family: "Okta Neue SemiBold Italic", sans-serif !important;
}

/* Hover State - "Đảo Sắc Nhận Diện" (Minimal)
   Trạng thái tương tác khi rê chuột vào toàn bộ khối lô-gô (.is-title)
*/
.is-title:hover .brand-cod {
  color: var(--color-font-one); /* Adapts to theme */
  transition: color 0.1s ease-out; /* Fast electrical transition */
}

.is-title:hover .brand-e {
  color: var(--ghost-accent-color);
  transition: color 0.3s ease;
}

.is-title:hover .brand-phoria {
  color: var(--ghost-accent-color);
  transition: color 0.3s ease 0.1s; /* Slight delay to create structural flow effect */
}
