/*
Theme Name: The Essentialism Nexus
Theme URI: https://the-essentialism.net/
Author: Essentialist Yu
Description: Quiet cyber editorial theme for The Essentialism. Built for speed, reading depth, discovery, and precise dark-mode publishing.
Version: 1.4.4
Requires at least: 6.5
Requires PHP: 7.4
Text Domain: essentialism-nexus
*/

:root {
  --nx-void: #080b0d;
  --nx-void-soft: #0b0f11;
  --nx-panel: #111619;
  --nx-panel-2: #162024;
  --nx-ink: #e7ecea;
  --nx-muted: #8f9a97;
  --nx-cyan: #4bc7bb;
  --nx-cyan-soft: #99e3dc;
  --nx-amber: #d6a962;
  --nx-line: rgba(231,236,234,.13);
  --nx-line-strong: rgba(75,199,187,.42);
  --nx-shadow: 0 28px 80px rgba(0,0,0,.32);
  --nx-radius: 6px;
  --nx-max: 1280px;
  --nx-reading: 760px;
  --nx-ease-out: cubic-bezier(.23,1,.32,1);
  --nx-ease-in-out: cubic-bezier(.77,0,.175,1);
  --nx-serif: "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
  --nx-sans: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
}

* { box-sizing: border-box; }
html { color-scheme: dark; scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; background: var(--nx-void); color: var(--nx-ink); font-family: var(--nx-sans); font-size: 16px; line-height: 1.78; overflow-wrap: anywhere; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--nx-cyan-soft); }
img { display: block; max-width: 100%; height: auto; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
::selection { background: var(--nx-cyan); color: var(--nx-void); }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; top: -5rem; left: 1rem; z-index: 999; padding: .7rem 1rem; border: 1px solid var(--nx-cyan); background: var(--nx-void); color: var(--nx-cyan); }
.skip-link:focus { top: 1rem; }
:focus-visible { outline: 2px solid var(--nx-cyan); outline-offset: 4px; }

.nx-header { position: sticky; top: 0; z-index: 100; border-bottom: 1px solid var(--nx-line); background: rgba(8,11,13,.94); backdrop-filter: blur(16px); }
.admin-bar .nx-header { top: 32px; }
.nx-header__bar { max-width: var(--nx-max); min-height: 76px; margin: 0 auto; padding: .75rem 3rem; display: grid; grid-template-columns: minmax(250px,.85fr) minmax(360px,1.15fr) auto; align-items: center; gap: 1.25rem; }
.nx-brand { min-width: 0; }
.nx-brand__name, .nx-footer__brand { color: #f1f3f2; font-family: var(--nx-serif); font-size: clamp(1.25rem,1.8vw,1.65rem); font-weight: 600; letter-spacing: -.035em; white-space: nowrap; }
.nx-search { min-width: 0; }
.nx-search__form { position: relative; display: flex; align-items: center; }
.nx-search__input { width: 100%; min-height: 48px; padding: .65rem 3rem .65rem 1rem; border: 1px solid var(--nx-line); border-radius: 6px; background: var(--nx-panel); color: var(--nx-ink); }
.nx-search__input::placeholder { color: #74807d; }
.nx-search__input:focus { border-color: var(--nx-cyan); outline: 0; box-shadow: 0 0 0 3px rgba(75,199,187,.09); }
.nx-search__button { position: absolute; right: .3rem; width: 40px; height: 40px; border: 0; border-radius: 4px; background: transparent; color: var(--nx-ink); cursor: pointer; font-weight: 800; transition: color 160ms ease, transform 130ms var(--nx-ease-out); }
.nx-search__button svg { display: block; margin: auto; }
.nx-search__button:hover { color: var(--nx-cyan); }
.nx-search__button:active, .nx-nav-toggle:active, .nx-button:active, .nx-share a:active, .nx-share button:active { transform: scale(.97); }
.nx-nav-toggle { display: none; min-height: 44px; padding: .5rem .8rem; border: 1px solid var(--nx-line); border-radius: 4px; background: var(--nx-panel); color: var(--nx-ink); cursor: pointer; }
.nx-topics { border-top: 1px solid rgba(231,236,234,.07); }
.nx-topics__list { max-width: var(--nx-max); min-height: 50px; margin: 0 auto; padding: 0 3rem; display: grid; grid-template-columns: repeat(8,minmax(0,1fr)); align-items: stretch; list-style: none; }
.nx-topic { position: relative; min-height: 50px; display: grid; place-items: center; padding: .35rem; color: var(--nx-muted); font-size: .71rem; font-weight: 650; letter-spacing: .01em; text-align: center; white-space: nowrap; transition: color 160ms ease; }
.nx-topic::after { content: ""; position: absolute; inset: auto 18% 0; height: 2px; transform: scaleX(0); background: var(--nx-cyan); transition: transform 190ms var(--nx-ease-out); }
.nx-topic:hover, .nx-topic:focus-visible, .nx-topic[aria-current="page"] { color: var(--nx-ink); }
.nx-topic:hover::after, .nx-topic:focus-visible::after, .nx-topic[aria-current="page"]::after { transform: scaleX(1); }

.nx-main { max-width: var(--nx-max); margin: 0 auto; padding: 0 3rem 5rem; }
.nx-hero { position: relative; left: 50%; width: min(100vw,1440px); height: clamp(440px,35vw,500px); display: grid; align-items: center; margin: 0 0 5rem; transform: translateX(-50%); overflow: hidden; background: #070a0b; isolation: isolate; }
.nx-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,rgba(4,7,8,.94) 0%,rgba(4,7,8,.76) 34%,rgba(4,7,8,.52) 53%,rgba(4,7,8,.08) 100%); }
.nx-hero__media { position: absolute; inset: -3% 0; z-index: -2; will-change: transform; transform: translate3d(0,var(--nx-hero-y,0),0) scale(1.03); }
.nx-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: 65% center; filter: saturate(.7) contrast(1.03) brightness(.78); }
.nx-hero__copy { position: relative; z-index: 2; max-width: 630px; padding: 0 clamp(3rem,7vw,6.5rem); }
.nx-hero h1 { max-width: 620px; margin: 0; color: #f4f4f1; font-family: var(--nx-serif); font-size: clamp(2.5rem,3.5vw,3.25rem); font-weight: 500; line-height: 1.22; letter-spacing: -.045em; text-wrap: balance; }
.nx-hero__lead { max-width: 540px; margin: 1.25rem 0 0; color: #c8cfcc; font-size: 1rem; line-height: 1.8; }

.nx-section { padding: 4.5rem 0; border-top: 1px solid var(--nx-line); }
.nx-section__head { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.65rem; }
.nx-section__title { margin: 0; font-family: var(--nx-serif); font-size: clamp(1.65rem,2.5vw,2rem); font-weight: 500; line-height: 1.3; letter-spacing: -.035em; }
.nx-kicker { margin: 0 0 .55rem; color: var(--nx-cyan); font-size: .72rem; font-weight: 700; letter-spacing: .08em; }
.nx-link { color: var(--nx-cyan); font-size: .8rem; font-weight: 700; }
.nx-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(1.5rem,2.8vw,2.5rem); }
.nx-grid--latest { grid-template-columns: repeat(5,minmax(0,1fr)); gap: 1.2rem; }
.nx-grid--latest .nx-card__excerpt { display: none; }
.nx-grid--latest .nx-card__title { font-size: .98rem; }
.nx-card { min-width: 0; }
.nx-card > a, .nx-post-nav a { display: block; height: 100%; }
.nx-card__media { aspect-ratio: 16/9; overflow: hidden; background: var(--nx-panel); }
.nx-card__media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.78) contrast(1.03); transition: transform 230ms var(--nx-ease-out), filter 180ms ease; }
.nx-card__placeholder { width: 100%; height: 100%; background: linear-gradient(135deg,#172023,#0a0e10); }
.nx-card__body { padding: 1rem 0 0; }
.nx-card__meta { display: flex; justify-content: space-between; gap: .7rem; margin: 0 0 .5rem; color: var(--nx-muted); font-size: .72rem; }
.nx-card__class, .nx-featured-story__category { color: var(--nx-cyan); }
.nx-card__title { margin: 0; color: #f0f3f1; font-family: var(--nx-serif); font-size: 1.12rem; font-weight: 500; line-height: 1.55; letter-spacing: -.02em; }
.nx-card__excerpt { margin: .6rem 0 0; color: var(--nx-muted); font-size: .85rem; line-height: 1.72; }

.nx-featured { padding: 0 0 5rem; }
.nx-featured__head { margin-bottom: 1.65rem; }
.nx-featured__stories { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(1.5rem,2.8vw,2.5rem); }
.nx-featured-story { min-width: 0; }
.nx-featured-story > a { display: block; height: 100%; }
.nx-featured-story__media { aspect-ratio: 16/9; overflow: hidden; background: var(--nx-panel); }
.nx-featured-story__media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.7); transition: transform 230ms var(--nx-ease-out); }
.nx-featured-story__category, .nx-featured-story time { display: block; color: var(--nx-muted); font-size: .69rem; }
.nx-featured-story__category { color: var(--nx-cyan); }
.nx-featured-story h3 { margin: .35rem 0; color: #f1f3f2; font-family: var(--nx-serif); font-size: clamp(1rem,1.5vw,1.25rem); font-weight: 500; line-height: 1.55; }
.nx-featured-story__body { padding-top: 1rem; }
.nx-ranking__stories { --nx-ranking-gap: clamp(1.5rem,2.8vw,2.5rem); margin-top: 0; grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: calc((100% - var(--nx-ranking-gap) - var(--nx-ranking-gap)) / 3); gap: var(--nx-ranking-gap); overflow-x: auto; overscroll-behavior-x: contain; padding-bottom: .6rem; scroll-snap-type: x proximity; scrollbar-color: var(--nx-line-strong) transparent; scrollbar-width: thin; }
.nx-ranking-story { min-width: 0; }
.nx-ranking-story > a { scroll-snap-align: start; }
.nx-ranking-story__media { position: relative; }
.nx-ranking-story__media img { width: 100%; height: 100%; margin: 0 !important; object-fit: cover; }

.nx-class-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; border-top: 1px solid var(--nx-line); }
.nx-class { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: 1rem 1.15rem; border-bottom: 1px solid var(--nx-line); transition: color 160ms ease, background-color 160ms ease, transform 130ms var(--nx-ease-out); }
.nx-class:not(:nth-child(4n)) { border-right: 1px solid var(--nx-line); }
.nx-class:hover, .nx-class:focus-visible { background: var(--nx-panel); color: #fff; }
.nx-class:active { transform: scale(.99); }
.nx-class__name { font-size: .77rem; font-weight: 700; }
.nx-class__count { color: var(--nx-muted); font-size: .7rem; white-space: nowrap; }
.nx-class--empty { opacity: .62; }

.nx-archive-head { padding: 4.3rem 0 2rem; border-bottom: 1px solid var(--nx-line); }
.nx-archive-head h1 { margin: .3rem 0 0; font-family: var(--nx-serif); font-size: clamp(2rem,5vw,3.65rem); font-weight: 500; line-height: 1.18; letter-spacing: -.045em; }
.nx-archive-head__description { max-width: 720px; margin-top: 1rem; color: var(--nx-muted); }
.nx-pagination { margin-top: 2rem; }
.nx-pagination .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: .45rem; }
.nx-pagination a, .nx-pagination span { min-width: 44px; min-height: 44px; display: inline-grid; place-items: center; padding: .3rem .7rem; border: 1px solid var(--nx-line); background: var(--nx-panel); }
.nx-pagination .current { border-color: var(--nx-cyan); color: var(--nx-cyan); }

.nx-breadcrumb { max-width: var(--nx-max); margin: 0 auto; padding: 1rem 3rem 0; color: var(--nx-muted); font-size: .72rem; }
.nx-breadcrumb ol { display: flex; flex-wrap: wrap; gap: .35rem; margin: 0; padding: 0; list-style: none; }
.nx-breadcrumb li:not(:last-child)::after { content: "/"; margin-left: .35rem; color: rgba(143,154,151,.5); }
.nx-article-layout { display: grid; grid-template-columns: minmax(0,var(--nx-reading)) minmax(220px,280px); justify-content: center; gap: clamp(2rem,5vw,5rem); padding: 3rem 0 5rem; }
.nx-page-layout { grid-template-columns: minmax(0,var(--nx-reading)); }
.nx-article { min-width: 0; }
.nx-article__header h1 { margin: .5rem 0 1rem; font-family: var(--nx-serif); font-size: clamp(2rem,5vw,3.5rem); font-weight: 500; line-height: 1.28; letter-spacing: -.045em; text-wrap: balance; }
.nx-article__meta { display: flex; flex-wrap: wrap; gap: .55rem 1rem; color: var(--nx-muted); font-size: .74rem; }
.nx-affiliate-disclosure { display: block; margin: .9rem 0 1.35rem; padding: .55rem .75rem; border-left: 2px solid rgba(214,169,98,.62); background: rgba(214,169,98,.055); color: var(--nx-muted); font-size: .73rem; line-height: 1.65; }
.nx-affiliate-disclosure__label { margin-right: .45rem; color: var(--nx-amber); font-size: .66rem; font-weight: 750; letter-spacing: .035em; white-space: nowrap; }
.nx-article__featured { margin: 2rem 0; overflow: hidden; background: var(--nx-panel); }
.nx-article__featured img { width: 100%; }
.nx-article__summary { margin: 2rem 0; padding: 1.25rem 1.35rem; border-left: 3px solid var(--nx-cyan); background: var(--nx-panel); }
.nx-article__summary strong { display: block; margin-bottom: .4rem; color: var(--nx-cyan-soft); font-size: .8rem; }
.nx-article__summary p { margin: 0; }
.nx-content { color: #d7dedb; font-size: 1.055rem; line-height: 1.95; }
.nx-content > *:first-child { margin-top: 0; }
.nx-content h1 { margin: 3.4rem 0 1.2rem; font-family: var(--nx-serif); font-size: clamp(1.6rem,3vw,2.1rem); font-weight: 500; line-height: 1.45; }
.nx-content h2 { margin: 3.4rem 0 1.2rem; padding: 0 0 .65rem; scroll-margin-top: 150px; border-bottom: 1px solid var(--nx-line-strong); color: #f1f3f2; font-family: var(--nx-serif); font-size: clamp(1.55rem,3vw,2rem); font-weight: 500; line-height: 1.45; letter-spacing: -.025em; }
.nx-content h3 { margin: 2.6rem 0 1rem; color: #eef1ef; font-size: clamp(1.22rem,2.5vw,1.5rem); line-height: 1.5; }
.nx-content a { color: var(--nx-cyan-soft); text-decoration: underline; text-decoration-color: rgba(75,199,187,.5); text-underline-offset: .18em; }
.nx-content a:hover { color: #fff; text-decoration-color: var(--nx-cyan); }
/* Broken Link Checker uses this class as a health signal; keep the link readable. */
.nx-content a.broken_link, .nx-content a.broken_link:visited { color: var(--nx-cyan-soft) !important; text-decoration-line: underline !important; text-decoration-style: solid !important; text-decoration-color: rgba(75,199,187,.5) !important; text-decoration-thickness: .08em !important; text-underline-offset: .18em !important; }
.nx-content a.broken_link:hover, .nx-content a.broken_link:focus-visible { color: #fff !important; text-decoration-color: var(--nx-cyan) !important; }
.nx-content img { margin: 1.8rem auto; }
.nx-content blockquote { margin: 2rem 0; padding: 1.1rem 1.25rem; border-left: 3px solid var(--nx-cyan); background: var(--nx-panel); color: #c7d0cd; }
.nx-content code { padding: .12rem .35rem; border: 1px solid var(--nx-line); background: #070a0b; color: var(--nx-cyan-soft); font-size: .88em; }
.nx-content pre { padding: 1rem; overflow: auto; border: 1px solid var(--nx-line); background: #050708; }
.nx-content table { width: 100%; border-collapse: collapse; display: block; overflow-x: auto; }
.nx-content th, .nx-content td { min-width: 130px; padding: .75rem; border: 1px solid var(--nx-line); text-align: left; }
.nx-content th { background: var(--nx-panel); color: var(--nx-cyan-soft); }
.nx-content iframe, .nx-content video, .nx-content embed, .nx-content object { max-width: 100%; }
.nx-content .instagram-media { width: 100% !important; min-width: 0 !important; max-width: 100% !important; }
.nx-content .easyLink-box, .nx-content [id^="msmaflink-"], .nx-content .blogcard, .nx-content .wp-block-embed { max-width: 100% !important; overflow: hidden; }
.nx-content [style*="width:" i] { max-width: 100% !important; }

/* Stinger8-compatible [my_link] internal article card. */
.nx-content .nx-internal-card { position: relative; max-width: 100%; margin: 1.75rem 0; padding: .7rem; overflow: hidden; border: 1px solid var(--nx-line-strong); border-radius: 4px; background: linear-gradient(135deg,rgba(75,199,187,.06),var(--nx-panel-2)); }
.nx-content .nx-internal-card__link { display: grid; grid-template-columns: minmax(110px,30%) minmax(0,1fr); min-height: 120px; color: var(--nx-ink); text-decoration: none !important; }
.nx-content .nx-internal-card__media { position: relative; min-height: 120px; overflow: hidden; background: var(--nx-panel); }
.nx-content .nx-internal-card__media img { width: 100%; height: 100%; min-height: 120px; margin: 0 !important; object-fit: cover; transition: transform 220ms var(--nx-ease-out), filter 220ms ease; }
.nx-content .nx-internal-card__placeholder { display: block; width: 100%; height: 100%; min-height: 120px; background: linear-gradient(135deg,var(--nx-panel),#080b0d); }
.nx-content .nx-internal-card__body { display: flex; align-items: center; min-width: 0; padding: 1rem 1.15rem; }
.nx-content .nx-internal-card__title { display: block; color: var(--nx-ink); font-size: clamp(.95rem,1.8vw,1.15rem); font-weight: 700; line-height: 1.55; }
.nx-content .nx-internal-card__tag { position: absolute; top: .7rem; left: .7rem; z-index: 2; padding: .24rem .48rem; background: var(--nx-cyan); color: var(--nx-void); font-size: .62rem; font-weight: 750; letter-spacing: .03em; line-height: 1.25; }
.nx-content .nx-internal-card__link:hover .nx-internal-card__media img { transform: scale(1.025); filter: saturate(.9); }
.nx-content .nx-internal-card__link:hover .nx-internal-card__title { color: var(--nx-cyan-soft); }

/* Legacy light backgrounds, limited to article-level divs to protect embeds. */
.nx-content div:is([style*="background-color: white" i],[style*="background-color: #ffffff" i],[style*="background-color:#ffffff" i],[style*="background:#ffffff" i],[style*="background: #ffffff" i]) { background-color: var(--nx-panel-2) !important; color: var(--nx-ink) !important; }
.nx-content div:is([style*="background-color: white" i],[style*="background-color: #ffffff" i],[style*="background-color:#ffffff" i],[style*="background:#ffffff" i],[style*="background: #ffffff" i]) [style*="color: black" i],
.nx-content div:is([style*="background-color: white" i],[style*="background-color: #ffffff" i],[style*="background-color:#ffffff" i],[style*="background:#ffffff" i],[style*="background: #ffffff" i]) [style*="color:#000" i] { color: inherit !important; }
.nx-content div[style*="border: 5px double" i], .nx-content div[style*="border:5px double" i] { margin: 1.75rem 0 !important; padding: 1.1rem 1.2rem !important; border: 1px solid var(--nx-line-strong) !important; border-left: 3px solid var(--nx-cyan) !important; border-radius: 4px !important; background: var(--nx-panel-2) !important; color: var(--nx-ink) !important; box-shadow: none !important; }
.nx-content div[style*="border: 5px double" i] > center:first-child, .nx-content div[style*="border:5px double" i] > center:first-child { display: block; margin: -1.1rem -1.2rem 1rem; padding: .75rem 1.2rem; border-bottom: 1px solid var(--nx-line); color: var(--nx-cyan-soft); font-weight: 750; text-align: left; }
.nx-content div[style*="border: 5px double" i] u, .nx-content div[style*="border:5px double" i] u { text-decoration: none; }
.nx-content div[style*="border: 5px double" i] [style*="color: black" i], .nx-content div[style*="border:5px double" i] [style*="color: black" i], .nx-content div[style*="border: 5px double" i] [style*="color:#000" i], .nx-content div[style*="border:5px double" i] [style*="color:#000" i] { color: inherit !important; }
.nx-content div[style*="#e0ffff" i] { margin: 1.25rem 0 !important; padding: .75rem 1rem !important; border: 1px solid rgba(214,169,98,.36) !important; border-left: 3px solid var(--nx-amber) !important; border-radius: 4px !important; background: rgba(214,169,98,.08) !important; color: #f4dfbd !important; font-size: .78rem !important; line-height: 1.65 !important; }
.nx-content div[style*="#e0ffff" i] [style*="color: black" i], .nx-content div[style*="#e0ffff" i] [style*="color:black" i], .nx-content div[style*="#e0ffff" i] [style*="color: #000" i], .nx-content div[style*="#e0ffff" i] [style*="color:#000" i] { color: inherit !important; }

/* Legacy table of contents: JS adds the class; :has() is a safe no-JS fallback. */
.nx-content .nx-legacy-toc,
.nx-content div[style*="border-color:#cccccc" i]:has(> details > summary),
.nx-content div[style*="width:90%" i]:has(> details > summary),
.nx-content div[style*="width: 90%" i]:has(> details > summary) { width: 100% !important; margin: 2rem 0 !important; padding: 0 !important; overflow: hidden; border: 1px solid var(--nx-line) !important; border-radius: 4px !important; background: var(--nx-panel-2) !important; color: var(--nx-ink) !important; }
.nx-content .nx-legacy-toc details { margin: 0; }
.nx-content .nx-legacy-toc summary { padding: 1rem 1.2rem; cursor: pointer; background: rgba(255,255,255,.025); color: var(--nx-ink); font-weight: 750; }
.nx-content .nx-legacy-toc details[open] > summary { border-bottom: 1px solid var(--nx-line); }
.nx-content .nx-legacy-toc summary br { display: none; }
.nx-content .nx-legacy-toc ol { margin: 0; padding: 1rem 1.2rem 1.2rem 2.65rem; }
.nx-content .nx-legacy-toc ol ol { padding: .25rem 0 .15rem 1.25rem; }
.nx-content .nx-legacy-toc li + li { margin-top: .4rem; }
.nx-content .nx-legacy-toc details > a { display: inline-block; margin: .45rem 1.2rem; }
.nx-content .nx-legacy-toc details > br { display: block; content: ""; margin-top: -.25rem; }
.js.nx-toc-enhanced .nx-content .nx-legacy-toc { display: none !important; }

/* Product, book and app components present in the existing article archive. */
.nx-content .cstmreba { max-width: 100%; margin: 2rem 0; }
.nx-content .kaerebalink-box, .nx-content .booklink-box, .nx-content .iherblet-box, .nx-content .appreach { max-width: 100% !important; margin: 2rem 0 !important; padding: 1rem !important; display: grid !important; grid-template-columns: minmax(110px,150px) minmax(0,1fr); gap: 1rem; overflow: hidden; border: 1px solid var(--nx-line) !important; border-radius: 4px !important; background: var(--nx-panel-2) !important; color: var(--nx-ink) !important; box-shadow: none !important; }
.nx-content .yyi-rinker-contents { max-width: 100% !important; margin: 2rem 0 !important; padding: 1rem !important; display: block !important; overflow: hidden; border: 1px solid var(--nx-line) !important; border-radius: 4px !important; background: var(--nx-panel-2) !important; color: var(--nx-ink) !important; }
.nx-content .yyi-rinker-box { display: grid !important; grid-template-columns: minmax(110px,150px) minmax(0,1fr); gap: 1rem; }
.nx-content .yyi-rinker-box > div:empty { display: none; }
.nx-content .yyi-rinker-image { grid-column: 1; }
.nx-content .yyi-rinker-info { grid-column: 2; }
.nx-content .kaerebalink-image, .nx-content .booklink-image, .nx-content .iherblet-image, .nx-content .appreach__icon, .nx-content .yyi-rinker-image { width: auto !important; max-width: 150px !important; margin: 0 auto !important; float: none !important; }
.nx-content .kaerebalink-image img, .nx-content .booklink-image img, .nx-content .iherblet-image img, .nx-content .appreach__icon, .nx-content .yyi-rinker-image img { margin: 0 auto !important; }
.nx-content .kaerebalink-info, .nx-content .booklink-info, .nx-content .iherblet-info, .nx-content .appreach__detail, .nx-content .appreach__info, .nx-content .yyi-rinker-info { min-width: 0; margin: 0 !important; color: var(--nx-ink) !important; }
.nx-content .appreach > p:empty { display: none; }
.nx-content .appreach__icon { grid-column: 1; grid-row: 1 / span 2; }
.nx-content .appreach__detail, .nx-content .appreach__links { grid-column: 2; }
.nx-content .kaerebalink-link1, .nx-content .booklink-link2, .nx-content .iherblet-link, .nx-content .appreach__links, .nx-content .yyi-rinker-links { width: auto !important; margin-top: .85rem !important; padding: 0; display: flex !important; flex-wrap: wrap; gap: .5rem; list-style: none; }
.nx-content [class^="shoplink" i], .nx-content [class*=" shoplink" i] { width: auto !important; margin: 0 !important; }
.nx-content [class^="shoplink" i] a, .nx-content [class*=" shoplink" i] a, .nx-content .iherblet-link a, .nx-content .appreach__links a, .nx-content .yyi-rinker-links a { width: auto !important; min-height: 44px; display: inline-flex !important; align-items: center; justify-content: center; padding: .55rem .8rem !important; border: 1px solid var(--nx-line-strong) !important; border-radius: 4px !important; background: rgba(8,11,13,.54) !important; color: var(--nx-cyan-soft) !important; text-decoration: none !important; line-height: 1.35; }
.nx-content [class^="shoplink" i] a:hover, .nx-content [class*=" shoplink" i] a:hover, .nx-content .iherblet-link a:hover, .nx-content .appreach__links a:hover, .nx-content .yyi-rinker-links a:hover { border-color: var(--nx-cyan) !important; color: #fff !important; }

.nx-article .jp-relatedposts { display: none !important; }
.nx-pattern { margin: 2rem 0; padding: 1.1rem 1.25rem; border-left: 3px solid var(--nx-cyan); background: var(--nx-panel); }
.nx-pattern h3 { margin-top: 0; color: var(--nx-cyan-soft); }
.nx-pattern--verify { border-left-color: var(--nx-muted); }
.nx-pattern--source { border-left-color: var(--nx-amber); }
.nx-toc { position: sticky; top: 150px; align-self: start; max-height: calc(100vh - 180px); overflow: auto; padding: 1rem 0; border-top: 1px solid var(--nx-line); border-bottom: 1px solid var(--nx-line); }
.nx-toc__title { margin: 0 0 .8rem; color: var(--nx-ink); font-size: .78rem; font-weight: 700; }
.nx-toc ol { margin: 0; padding: 0; list-style: none; }
.nx-toc li + li { margin-top: .5rem; }
.nx-toc a { display: block; color: var(--nx-muted); font-size: .77rem; line-height: 1.55; }
.nx-toc a:hover, .nx-toc a.is-active { color: var(--nx-cyan-soft); }
.nx-progress { position: fixed; top: 0; left: 0; z-index: 150; width: var(--nx-reading-progress,0%); height: 1px; background: var(--nx-cyan); pointer-events: none; }
.admin-bar .nx-progress { top: 32px; }
.nx-article-footer { margin-top: 3.4rem; padding-top: 1.5rem; border-top: 1px solid var(--nx-line); }
.nx-share { display: flex; flex-wrap: wrap; gap: .5rem; }
.nx-share a, .nx-share button { min-height: 44px; display: inline-flex; align-items: center; padding: .45rem .85rem; border: 1px solid var(--nx-line); border-radius: 4px; background: transparent; color: var(--nx-ink); cursor: pointer; transition: transform 130ms var(--nx-ease-out), border-color 160ms ease, color 160ms ease; }
.nx-share a:hover, .nx-share button:hover { border-color: var(--nx-cyan); color: var(--nx-cyan); }
.nx-related { margin-top: 4rem; }
.nx-post-nav { margin-top: 2.5rem; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.nx-post-nav a { padding: 1rem 0; border-top: 1px solid var(--nx-line); }
.nx-post-nav span { display: block; color: var(--nx-muted); font-size: .7rem; }
.nx-profile-social { margin-top: 3rem; }
.nx-profile-social__list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .7rem; margin: 0; padding: 0; list-style: none; }
.nx-profile-social a { min-height: 56px; display: flex; align-items: center; justify-content: center; gap: .55rem; border: 1px solid var(--nx-line); font-size: .78rem; font-weight: 700; }
.nx-profile-social img { width: 22px; height: 22px; filter: invert(92%) sepia(13%) saturate(489%) hue-rotate(121deg) brightness(100%); }
.nx-footer { border-top: 1px solid var(--nx-line); background: #06090a; }
.nx-footer__inner { max-width: var(--nx-max); margin: 0 auto; padding: 3rem; display: grid; grid-template-columns: 1fr auto; gap: 2rem; }
.nx-footer__brand { font-size: 1.15rem; }
.nx-footer__copy { margin: .3rem 0 0; color: var(--nx-muted); font-size: .7rem; }
.nx-footer__nav { display: flex; flex-wrap: wrap; justify-content: end; align-items: center; gap: .5rem 1.2rem; margin: 0; padding: 0; list-style: none; }
.nx-footer__nav a { color: var(--nx-muted); font-size: .78rem; }
.nx-empty { padding: 4rem 0; color: var(--nx-muted); }

.nx-reveal { opacity: 1; transform: none; }
.nx-motion-ready .nx-reveal { opacity: 0; transform: translateY(10px); transition: opacity 260ms var(--nx-ease-out), transform 260ms var(--nx-ease-out); }
.nx-motion-ready .nx-reveal.is-visible { opacity: 1; transform: none; }
.nx-motion-ready .nx-stagger > * { opacity: 0; transform: translateY(8px); transition: opacity 240ms var(--nx-ease-out), transform 240ms var(--nx-ease-out); }
.nx-motion-ready .nx-stagger.is-visible > * { opacity: 1; transform: none; }
.nx-motion-ready .nx-stagger.is-visible > *:nth-child(2) { transition-delay: 45ms; }
.nx-motion-ready .nx-stagger.is-visible > *:nth-child(3) { transition-delay: 90ms; }
.nx-motion-ready .nx-stagger.is-visible > *:nth-child(n+4) { transition-delay: 120ms; }

@media (hover:hover) and (pointer:fine) {
  .nx-card:hover .nx-card__media img, .nx-featured-story:hover .nx-featured-story__media img { transform: scale(1.02); filter: saturate(.9); }
}
@media (max-width:1080px) {
  .nx-header__bar { grid-template-columns: 1fr auto; padding-inline: 2rem; }
  .nx-search { grid-column: 1/-1; grid-row: 2; }
  .nx-main { padding-inline: 2rem; }
  .nx-topics__list { padding-inline: 2rem; grid-template-columns: repeat(4,minmax(0,1fr)); }
  .nx-topic { white-space: normal; }
  .nx-grid--latest { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .nx-class-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .nx-class:not(:nth-child(4n)) { border-right: 0; }
  .nx-class:nth-child(odd) { border-right: 1px solid var(--nx-line); }
  .nx-toc { top: 1.5rem; }
  .nx-content h2 { scroll-margin-top: 2rem; }
  .nx-header { position: relative; }
  .admin-bar .nx-header { top: auto; }
}
@media (max-width:782px) { .admin-bar .nx-progress { top: 46px; } }
@media (max-width:760px) {
  .nx-header__bar { min-height: 62px; padding: .65rem 1.25rem; }
  .nx-brand__name { font-size: 1.23rem; }
  .nx-nav-toggle { display: inline-flex; align-items: center; }
  .nx-topics { display: none; }
  .nx-topics.is-open { display: block; }
  .no-js .nx-nav-toggle { display: none; }
  .no-js .nx-topics { display: block; }
  .nx-topics__list { grid-template-columns: repeat(2,minmax(0,1fr)); padding: .5rem 1.25rem .75rem; }
  .nx-topic { min-height: 44px; }
  .nx-search { padding-top: .1rem; }
  .nx-search__input { min-height: 44px; }
  .nx-main { padding: 0 1.25rem 4rem; }
  .nx-hero { left: auto; width: calc(100% + 2.5rem); height: clamp(340px,100vw,390px); margin: 0 -1.25rem 4rem; transform: none; }
  .nx-hero::before { background: linear-gradient(90deg,rgba(4,7,8,.9),rgba(4,7,8,.5) 68%,rgba(4,7,8,.14)); }
  .nx-hero__media img { object-position: 66% center; }
  .nx-hero__copy { align-self: end; max-width: none; padding: 0 1.5rem 2.6rem; }
  .nx-hero h1 { font-size: clamp(1.75rem,8vw,2.125rem); line-height: 1.38; }
  .nx-hero__lead { margin-top: .9rem; font-size: .875rem; line-height: 1.75; }
  .nx-featured { padding-bottom: 4rem; }
  .nx-ranking .nx-ranking__stories { --nx-ranking-gap: 1rem; grid-template-columns: none !important; grid-auto-columns: 86% !important; }
  .nx-featured__stories:not(.nx-ranking__stories) { grid-template-columns: minmax(0,1fr); gap: 2.5rem; }
  .nx-section { padding: 3.6rem 0; }
  .nx-grid { grid-template-columns: minmax(0,1fr); gap: 2.5rem; }
  .nx-grid--latest { gap: 1.25rem; }
  .nx-grid--latest .nx-card > a { display: grid; grid-template-columns: 112px minmax(0,1fr); gap: 1rem; }
  .nx-grid--latest .nx-card__body { padding: 0; }
  .nx-class-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .nx-class { min-height: 64px; padding: .8rem; }
  .nx-class__name { font-size: .7rem; }
  .nx-class__count { display: none; }
  .nx-article-layout { grid-template-columns: minmax(0,1fr); padding-top: 2rem; }
  .nx-toc { position: static; order: -1; max-height: none; }
  .nx-article__header h1 { font-size: clamp(1.8rem,8.5vw,2.25rem); }
  .nx-content { font-size: 1rem; }
  .nx-content .nx-internal-card__link { grid-template-columns: 1fr; }
  .nx-content .nx-internal-card__media { min-height: 0; aspect-ratio: 16/9; }
  .nx-content .nx-internal-card__media img, .nx-content .nx-internal-card__placeholder { min-height: 0; }
  .nx-content .nx-internal-card__body { padding: .85rem .75rem .55rem; }
  .nx-content .nx-internal-card__tag { top: .6rem; left: .6rem; }
  .nx-post-nav, .nx-profile-social__list { grid-template-columns: 1fr; }
  .nx-footer__inner { grid-template-columns: 1fr; padding: 2.5rem 1.25rem; }
  .nx-footer__nav { justify-content: start; }
}
@media (max-width:600px) {
  .nx-affiliate-disclosure { margin: .7rem 0 1rem; padding: .5rem .65rem; font-size: .69rem; }
  .nx-content .kaerebalink-box, .nx-content .booklink-box, .nx-content .iherblet-box, .nx-content .appreach, .nx-content .yyi-rinker-box { grid-template-columns: minmax(0,1fr); }
  .nx-content .yyi-rinker-image, .nx-content .yyi-rinker-info { grid-column: 1; }
  .nx-content .appreach__icon, .nx-content .appreach__detail, .nx-content .appreach__links { grid-column: 1; grid-row: auto; }
  .nx-content .kaerebalink-link1, .nx-content .booklink-link2, .nx-content .iherblet-link, .nx-content .appreach__links, .nx-content .yyi-rinker-links { flex-direction: column; }
  .nx-content [class^="shoplink" i] a, .nx-content [class*=" shoplink" i] a, .nx-content .iherblet-link a, .nx-content .appreach__links a, .nx-content .yyi-rinker-links a { width: 100% !important; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .nx-motion-ready .nx-reveal, .nx-motion-ready .nx-stagger > * { opacity: 1; transform: none; }
  .nx-hero__media { transform: scale(1.03); }
}
