/**
 * Nettoge retro-guide SWELL / core blocks (Phase 4).
 * Reference: こういうサイトにしたい/globals.css
 *   route-step → loos/step + is-style-nettoge-route (opt-in)
 *   mission    → core/list + is-style-nettoge-mission (opt-in)
 *   page status→ core/group|loos/dl + is-style-nettoge-status (opt-in)
 *   next-guide → loos/post-link + is-style-nettoge-next (opt-in)
 *   notice-box → cap-block (default notice strength)
 *   side-menu  → box-menu / link-list
 *   summary    → is-style-lead / icon_pen / verification (no empty DOM)
 *
 * Scope: presentation only. Saved DOM / block attributes unchanged.
 * Palette: --nettoge-retro-block-* in tokens-nettoge.css (light + dark).
 * Sync: front @111 (after wp-blocks) + editor content map.
 * Strong guide looks are opt-in variants — defaults stay quieter.
 *
 * Exclusions: parchment, ads, NettogeCore (nexus/etb/ng-*), Sparking tables,
 * accordion teaser-blur, forced display changes that break tab/FAQ/accordion JS.
 */

/* -------------------------------------------------------------------------- */
/* Shared scope helpers (content + editor canvas)                             */
/* -------------------------------------------------------------------------- */

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper) {
  --nettoge-retro-block-scope: 1;
}

/* -------------------------------------------------------------------------- */
/* Core — quote / list / group / columns (light assist, no layout fights)     */
/* -------------------------------------------------------------------------- */

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.wp-block-quote:not(.is-style-plain):not(.is-style-parchment) {
  background: var(--nettoge-retro-block-quote-bg);
  border: 1px solid var(--nettoge-retro-block-quote-border);
  border-left: 5px solid var(--nettoge-retro-block-quote-accent);
  border-radius: var(--nettoge-retro-block-radius);
  box-shadow: none;
  color: var(--color_text);
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.wp-block-group.has-background:not(.is-style-parchment):not(.is-style-browser_mac):not(.is-style-desktop):not([class*="is-style-big_icon"]):not([class*="-background-color"]):not([style*="background"]) {
  border: 1px solid var(--nettoge-retro-block-card-border);
  border-radius: var(--nettoge-retro-block-radius);
  box-shadow: var(--nettoge-retro-block-card-shadow);
  background: var(--nettoge-retro-block-card-bg) !important;
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.wp-block-column.has-background:not([class*="-background-color"]):not([style*="background"]) {
  border: 1px solid var(--nettoge-retro-block-card-border);
  border-radius: var(--nettoge-retro-block-radius);
  box-shadow: var(--nettoge-retro-block-card-shadow);
  background: var(--nettoge-retro-block-card-bg) !important;
}

/* List assist — left steel accent only (avoid fighting typography markers / list styles) */
:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
:is(ul, ol).wp-block-list:not(.is-style-index):not(.is-style-note_list):not(.is-style-good_list):not(.is-style-bad_list):not(.is-style-check_list):not(.is-style-num_circle):not(.is-style-triangle_list) {
  border-left: 3px solid var(--nettoge-retro-block-quote-accent);
}

/* File / table — token bridge only (structure owned by wp-blocks / table-override) */
:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.wp-block-file {
  --nf-bg: var(--nettoge-retro-block-card-bg, var(--nettoge-file-card-bg));
  --nf-fg: var(--nettoge-retro-block-card-border, var(--nettoge-file-card-border));
  border-radius: var(--nettoge-retro-block-radius);
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.wp-block-table:not(.etb-table):not(.custom-table-1407):not(.sparkingzerocharacterunlock):not(.sparkingzeroepisode-table) {
  border-radius: var(--nettoge-retro-block-radius);
}

/* -------------------------------------------------------------------------- */
/* loos/step default (light) + is-style-nettoge-route (opt-in strong)         */
/* -------------------------------------------------------------------------- */

/* Default / small / big: quiet steel accents only (not full route chart) */
:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-step:not(.is-style-nettoge-route) {
  --swl-step_arrow_color: var(--nettoge-retro-block-step-connector);
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-step:not(.is-style-nettoge-route):not(.is-style-big):not(.is-style-small)
> .swell-block-step__item {
  border-color: var(--nettoge-retro-block-panel-border);
  border-radius: var(--nettoge-retro-block-radius);
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-step:not(.is-style-nettoge-route) .swell-block-step__title {
  color: var(--nettoge-retro-block-step-title);
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-step:not(.is-style-nettoge-route) .swell-block-step__body {
  color: var(--nettoge-retro-block-step-body);
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-step.is-style-nettoge-route {
  --swl-step_arrow_color: var(--nettoge-retro-block-step-connector);
  margin: 1.15em 0 1.5em;
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-step.is-style-nettoge-route > .swell-block-step__item {
  margin-bottom: 1.15em !important;
  padding: 0 0 0 72px;
  min-height: 74px;
  color: var(--nettoge-retro-block-step-title);
  background: var(--nettoge-retro-block-step-bg);
  border: 1px solid var(--nettoge-retro-block-step-border);
  border-radius: var(--nettoge-retro-block-radius);
  box-shadow: var(--nettoge-retro-block-step-shadow);
  transition: background .15s ease, border-color .15s ease;
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-step.is-style-nettoge-route > .swell-block-step__item:hover {
  background: var(--nettoge-retro-block-step-hover-bg);
  border-color: var(--nettoge-retro-block-step-hover-border);
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-step.is-style-nettoge-route > .swell-block-step__item:last-child {
  margin-bottom: 0 !important;
  padding-bottom: 0;
}

/* Hide dashed connector; route ▼ instead (keep ::before content:none — no display:force) */
:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-step.is-style-nettoge-route > .swell-block-step__item::before {
  content: none;
  border: 0;
  width: 0;
  height: 0;
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-step.is-style-nettoge-route > .swell-block-step__item:not(:last-child)::after {
  content: "▼";
  position: absolute;
  left: 28px;
  bottom: -1.2em;
  z-index: 1;
  color: var(--nettoge-retro-block-step-connector);
  font-size: 13px;
  line-height: 1;
  pointer-events: none;
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-step.is-style-nettoge-route .swell-block-step__number {
  top: 0;
  left: 0;
  width: 72px;
  height: 100%;
  min-height: 74px;
  color: var(--nettoge-retro-block-step-num-fg);
  background: var(--nettoge-retro-block-step-num-bg);
  border-right: 1px solid var(--nettoge-retro-block-step-num-border);
  border-radius: 0 !important;
  font-family: Arial, sans-serif;
  font-weight: 700;
  font-size: 11px;
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-step.is-style-nettoge-route .swell-block-step__number .__shape {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  opacity: 0;
  pointer-events: none;
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-step.is-style-nettoge-route .swell-block-step__number.u-bg-main,
:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-step.is-style-nettoge-route .swell-block-step__number .__shape.u-col-main,
:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-step.is-style-nettoge-route .swell-block-step__number .__shape[style*="currentColor"],
:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-step.is-style-nettoge-route .swell-block-step__number .__shape[style*="--color_main"] {
  background: var(--nettoge-retro-block-step-num-bg) !important;
  color: var(--nettoge-retro-block-step-num-fg) !important;
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-step.is-style-nettoge-route .swell-block-step__number .__shape.u-col-main,
:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-step.is-style-nettoge-route .swell-block-step__number .__shape[style*="currentColor"],
:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-step.is-style-nettoge-route .swell-block-step__number .__shape[style*="--color_main"] {
  opacity: 0;
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-step.is-style-nettoge-route > .swell-block-step__item > .swell-block-step__title {
  padding: 10px 13px 4px;
  color: var(--nettoge-retro-block-step-title);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
  border-right: 0;
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-step.is-style-nettoge-route .swell-block-step__body {
  margin-top: 0;
  padding: 0 12px 10px;
  color: var(--nettoge-retro-block-step-body);
  font-size: .92em;
  line-height: 1.65;
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-step.is-style-nettoge-route .swell-block-step__body :is(p, li) {
  color: inherit;
}

/* small / big — lighter retro (keep SWELL geometry) */
:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-step.is-style-small .swell-block-step__number .__shape {
  background: var(--nettoge-retro-block-step-num-bg) !important;
  border-color: var(--nettoge-retro-block-step-num-border) !important;
  border-radius: 0;
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-step.is-style-big > .swell-block-step__item {
  background: var(--nettoge-retro-block-step-bg);
  border-color: var(--nettoge-retro-block-step-border);
  border-radius: var(--nettoge-retro-block-radius);
}

@media (max-width: 599px) {
  :is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
  .swell-block-step.is-style-nettoge-route > .swell-block-step__item {
    padding-left: 55px;
  }

  :is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
  .swell-block-step.is-style-nettoge-route .swell-block-step__number {
    width: 55px;
  }

  :is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
  .swell-block-step.is-style-nettoge-route > .swell-block-step__item > .swell-block-step__body {
    margin-left: 0;
  }

  :is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
  .swell-block-step.is-style-nettoge-route > .swell-block-step__item:not(:last-child)::after {
    left: 20px;
  }
}

@media (max-width: 460px) {
  :is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
  .swell-block-step.is-style-nettoge-route > .swell-block-step__item {
    padding-left: 48px;
  }

  :is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
  .swell-block-step.is-style-nettoge-route .swell-block-step__number {
    width: 48px;
  }
}

/* Editor: keep step-item block chrome usable */
.editor-styles-wrapper [data-type="loos/step"] [data-type="loos/step-item"] {
  margin-top: 0 !important;
}

.editor-styles-wrapper [data-type="loos/step"]:not(.is-style-big):not(.is-style-small) .swell-block-step__number {
  z-index: 1;
}

/* -------------------------------------------------------------------------- */
/* cap-block → notice-box                                                     */
/* -------------------------------------------------------------------------- */

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.cap_box:not(.is-style-parchment) {
  border-radius: var(--nettoge-retro-block-radius);
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.cap_box:not([data-colset]):not(.is-style-parchment) {
  --capbox-color: var(--nettoge-retro-block-notice-title-bg);
  --capbox-color--bg: var(--nettoge-retro-block-notice-bg);
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.cap_box:not(.is-style-parchment) > .cap_box_ttl {
  justify-content: flex-start;
  padding: 5px 9px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
  text-align: left;
  color: var(--nettoge-retro-block-notice-title-fg) !important;
  background: var(--capbox-color, var(--nettoge-retro-block-notice-title-bg));
  border-bottom: 1px solid var(--nettoge-retro-block-notice-title-border);
  border-radius: 0;
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.cap_box:not(.is-style-parchment) > .cap_box_content {
  margin-top: 0;
  padding: 10px 12px;
  background: var(--capbox-color--bg, var(--nettoge-retro-block-notice-bg)) !important;
  border: 1px solid var(--capbox-color, var(--nettoge-retro-block-notice-border)) !important;
  border-top: 0 !important;
  border-radius: 0;
  color: var(--color_text) !important;
}

/* onborder / intext keep readable title colors */
:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.cap_box:is(.is-style-onborder_ttl, .is-style-intext):not(.is-style-parchment) > .cap_box_ttl {
  color: var(--capbox-color, var(--nettoge-retro-block-notice-title-bg)) !important;
  border-bottom: 0;
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.cap_box.is-style-onborder_ttl2:not(.is-style-parchment) > .cap_box_ttl {
  color: var(--nettoge-retro-block-notice-title-fg) !important;
  border-bottom: 0;
}

.editor-styles-wrapper [data-type="loos/cap-block"] {
  max-width: 100%;
}

/* -------------------------------------------------------------------------- */
/* FAQ / accordion / tab / DL — shared heading band + frame                   */
/* -------------------------------------------------------------------------- */

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.is-style-faq-box .swell-block-faq__item {
  background: var(--nettoge-retro-block-panel-bg);
  border: 1px solid var(--nettoge-retro-block-panel-border);
  border-radius: var(--nettoge-retro-block-radius);
  overflow: hidden;
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.is-style-faq-box .faq_q {
  padding: 7px 10px 7px 3em;
  color: var(--nettoge-retro-block-panel-title-fg);
  background: var(--nettoge-retro-block-panel-title-bg);
  border-bottom: 1px solid var(--nettoge-retro-block-panel-title-border);
  text-shadow: var(--nettoge-retro-block-panel-title-shadow);
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.is-style-faq-box .faq_q::before {
  top: .45em;
  color: var(--nettoge-retro-block-panel-title-fg);
  background: color-mix(in srgb, var(--color_text) 18%, transparent);
  border-radius: 0;
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.is-style-faq-box .faq_a {
  background: var(--nettoge-retro-block-panel-bg);
  color: var(--color_text);
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.is-style-faq-border .swell-block-faq__item + .swell-block-faq__item {
  border-top-color: var(--nettoge-retro-block-panel-border);
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-faq:not(.is-style-faq-box):not(.is-style-faq-stripe) .faq_q {
  color: var(--nettoge-retro-block-step-title);
  border-bottom: 1px solid var(--nettoge-retro-block-panel-border);
}

/* Accordion — band + frame (exclude teaser / simple / border / main variants' JS contracts) */
:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-accordion:not(.is-style-simple):not(.is-style-border):not(.is-style-main):not(.is-style-teaser-blur) {
  --ntg-acc-ink: var(--nettoge-retro-block-panel-title-fg);
  --ntg-acc-body: var(--color_text);
  --ntg-acc-line: var(--nettoge-retro-block-panel-border);
  --ntg-acc-line-strong: var(--nettoge-retro-block-panel-title-border);
  --ntg-acc-open-bg: var(--nettoge-retro-block-panel-bg);
  --ntg-acc-summary-open-bg: var(--nettoge-retro-block-panel-title-bg);
  --ntg-acc-panel-open-bg: var(--nettoge-retro-block-panel-bg);
  --ntg-acc-hover-bg: color-mix(in srgb, var(--nettoge-retro-block-panel-bg) 92%, var(--color_text));
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-accordion:not(.is-style-simple):not(.is-style-border):not(.is-style-main):not(.is-style-teaser-blur)
> .swell-block-accordion__item:not(.is-style-teaser-blur) {
  background: var(--nettoge-retro-block-panel-bg);
  border: 1px solid var(--nettoge-retro-block-panel-border);
  border-radius: var(--nettoge-retro-block-radius);
  box-shadow: none;
  overflow: hidden;
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-accordion:not(.is-style-simple):not(.is-style-border):not(.is-style-main):not(.is-style-teaser-blur)
> .swell-block-accordion__item:not(.is-style-teaser-blur):is([open], .is-opened) {
  box-shadow: var(--nettoge-retro-block-card-shadow);
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-accordion:not(.is-style-simple):not(.is-style-border):not(.is-style-main):not(.is-style-teaser-blur)
> .swell-block-accordion__item:not(.is-style-teaser-blur) > .swell-block-accordion__title {
  padding: 7px 12px;
  font-size: 12px;
  font-weight: 700;
  color: var(--nettoge-retro-block-panel-title-fg) !important;
  background: var(--nettoge-retro-block-panel-title-bg) !important;
  border-color: var(--nettoge-retro-block-panel-title-border);
  text-shadow: var(--nettoge-retro-block-panel-title-shadow);
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-accordion:not(.is-style-simple):not(.is-style-border):not(.is-style-main):not(.is-style-teaser-blur)
> .swell-block-accordion__item:not(.is-style-teaser-blur):is([open], .is-opened) > .swell-block-accordion__title {
  color: var(--nettoge-retro-block-panel-title-fg) !important;
  background: var(--nettoge-retro-block-panel-title-bg) !important;
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-accordion:is(.is-style-simple, .is-style-border)
> .swell-block-accordion__item {
  border-color: var(--nettoge-retro-block-panel-border) !important;
  border-radius: var(--nettoge-retro-block-radius);
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-accordion.is-style-main > .swell-block-accordion__item > .swell-block-accordion__title {
  background: var(--nettoge-retro-block-panel-title-bg) !important;
  color: var(--nettoge-retro-block-panel-title-fg) !important;
}

/* Tab — steel band active + framed body */
:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-tab:not(.is-style-nettoge-card) {
  --surface-tab-active: var(--nettoge-retro-block-panel-title-bg);
  --text-tab-active: var(--nettoge-retro-block-panel-title-fg);
  --surface-tab-body-border: var(--nettoge-retro-block-panel-border);
  --border-tab-simple: var(--nettoge-retro-block-panel-border);
  --text-tab-simple: var(--nettoge-retro-block-menu-link);
  --surface-tab-simple-hover: var(--nettoge-retro-block-menu-hover-bg);
  --text-tab-simple-active: var(--nettoge-retro-block-menu-hover-fg);
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.is-style-default > .c-tabList .c-tabList__button[aria-selected="true"],
:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.is-style-default > .c-tabList .c-tabList__button:hover {
  background: var(--nettoge-retro-block-panel-title-bg);
  color: var(--nettoge-retro-block-panel-title-fg);
  border-radius: var(--nettoge-retro-block-radius);
  text-shadow: var(--nettoge-retro-block-panel-title-shadow);
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-tab > .c-tabBody,
:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.is-style-default .c-tabBody {
  background: var(--nettoge-retro-block-panel-bg);
  border-color: var(--nettoge-retro-block-panel-border);
  border-radius: var(--nettoge-retro-block-radius);
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.is-style-nettoge-card {
  --ntg-tab-fg: var(--nettoge-retro-block-panel-border);
  --ntg-tab-bg: var(--nettoge-retro-block-menu-bg);
  --ntg-tab-active-bg: var(--nettoge-retro-block-panel-bg);
  --ntg-tab-line: var(--nettoge-retro-block-panel-border);
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.is-style-nettoge-card .c-tabList__button[role="tab"] {
  border-radius: var(--nettoge-retro-block-radius);
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.is-style-nettoge-card .c-tabList__button[role="tab"][aria-selected="true"] {
  background: var(--nettoge-retro-block-panel-title-bg);
  color: var(--nettoge-retro-block-panel-title-fg);
  border-color: var(--nettoge-retro-block-panel-title-border);
  text-shadow: var(--nettoge-retro-block-panel-title-shadow);
}

/* DL — status-like band */
:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-dl.is-style-vtabel {
  border: 1px solid var(--nettoge-retro-block-panel-border);
  border-radius: var(--nettoge-retro-block-radius);
  overflow: hidden;
  background: var(--nettoge-retro-block-panel-bg);
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-dl.is-style-vtabel > .swell-block-dl__dt {
  color: var(--nettoge-retro-block-panel-title-fg) !important;
  background: var(--nettoge-retro-block-panel-title-bg) !important;
  border-bottom: 1px solid var(--nettoge-retro-block-panel-title-border);
  text-shadow: var(--nettoge-retro-block-panel-title-shadow);
  font-size: 12px;
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-dl.is-style-vtabel > .swell-block-dl__dd {
  border-color: var(--nettoge-retro-block-panel-border) !important;
  background: var(--nettoge-retro-block-panel-bg);
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-dl.is-style-border > .swell-block-dl__dt {
  border-left-color: var(--nettoge-retro-block-quote-accent);
  color: var(--nettoge-retro-block-step-title);
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-dl.is-style-float {
  padding: 9px;
  border: 1px solid var(--nettoge-retro-block-panel-border);
  background: var(--nettoge-retro-block-menu-bg);
  border-radius: var(--nettoge-retro-block-radius);
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-dl.is-style-float > .swell-block-dl__dt {
  color: var(--nettoge-retro-block-list-muted);
  font-size: 11px;
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-dl.is-style-float > .swell-block-dl__dd {
  border-bottom: 1px dotted var(--nettoge-retro-block-list-border);
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-dl.is-style-float > .swell-block-dl__dd:last-child {
  border-bottom: 0;
}

/* -------------------------------------------------------------------------- */
/* post-link / banner / button → next-guide / CTA                             */
/* -------------------------------------------------------------------------- */

/* Blog cards: quiet white/blue-gray. NEXT medium chrome stays on contextual / banner / CTA. */
:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
:is(.p-blogCard--nettoge, .p-blogCard.-internal, .p-blogCard.-external):not(.p-blogCard--l04) {
  background: var(--nettoge-retro-blogcard-bg, var(--nettoge-retro-content-bg));
  border: 1px solid var(--nettoge-retro-blogcard-border, var(--nettoge-retro-core-card-border));
  border-radius: var(--nettoge-retro-block-radius);
  box-shadow: var(--nettoge-retro-blogcard-shadow, none);
  color: var(--nettoge-retro-blogcard-fg, var(--nettoge-retro-block-list-title));
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
:is(.p-blogCard--nettoge, .p-blogCard.-internal, .p-blogCard.-external) .p-blogCard__title {
  color: var(--nettoge-retro-blogcard-fg, var(--nettoge-retro-block-list-title));
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
:is(.p-blogCard--nettoge, .p-blogCard.-internal, .p-blogCard.-external) .p-blogCard__excerpt,
:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
:is(.p-blogCard--nettoge, .p-blogCard.-internal, .p-blogCard.-external) .p-blogCard__url {
  color: var(--nettoge-retro-blogcard-muted, var(--nettoge-retro-block-list-muted));
}

/* L01 thumb — soft slate rail (weaker than next-guide accent) */
:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.p-blogCard--l01 .p-blogCard__thumb,
:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.p-blogCard--nettoge.p-blogCard--l01 .p-blogCard__thumb {
  background: var(--nettoge-retro-table-header-bg, #536b7d);
  border-right: 1px solid var(--nettoge-retro-table-header-border, #344c5e);
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.p-blogCard--l01 .p-blogCard__thumbLabel,
:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.p-blogCard--nettoge .p-blogCard__thumbLabel {
  color: var(--nettoge-retro-table-header-fg, #fff);
  background: transparent;
  border-radius: 0;
  font: bold 10px Arial, sans-serif;
  letter-spacing: .04em;
}

.editor-styles-wrapper .swell-block-postLink__nolink {
  background: var(--nettoge-retro-blogcard-bg, var(--nettoge-retro-content-bg));
  border: 1px solid var(--nettoge-retro-blogcard-border, var(--nettoge-retro-core-card-border));
  border-radius: var(--nettoge-retro-block-radius);
  box-shadow: var(--nettoge-retro-blogcard-shadow, none);
  color: var(--nettoge-retro-blogcard-fg, var(--nettoge-retro-block-list-title));
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.c-bannerLink {
  border: 1px solid var(--nettoge-retro-block-next-border);
  border-radius: var(--nettoge-retro-block-radius);
  box-shadow: var(--nettoge-retro-block-next-shadow);
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.c-bannerLink__label {
  background: var(--nettoge-retro-block-next-accent-bg);
  color: var(--nettoge-retro-block-next-accent-fg);
  border-radius: 0;
  font: bold 11px Arial, sans-serif;
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
:is(.is-style-btn_normal, .is-style-btn_solid, .is-style-btn_shiny)
:is(a, .swell-block-button__link):not([style*="background"]) {
  background: var(--nettoge-retro-block-btn-bg) !important;
  color: var(--nettoge-retro-block-btn-fg) !important;
  border-color: var(--nettoge-retro-block-btn-border) !important;
  border-radius: var(--nettoge-retro-block-radius) !important;
  box-shadow: var(--nettoge-retro-block-btn-shadow) !important;
  text-shadow: var(--nettoge-retro-nav-active-text-shadow, none);
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.is-style-btn_line :is(a, .swell-block-button__link) {
  color: var(--nettoge-retro-block-menu-hover-fg) !important;
  border-color: var(--nettoge-retro-block-next-border) !important;
  border-radius: var(--nettoge-retro-block-radius) !important;
  background: var(--nettoge-retro-block-panel-bg) !important;
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.is-style-btn_line :is(a, .swell-block-button__link):hover {
  color: var(--nettoge-retro-block-btn-fg) !important;
  background: var(--nettoge-retro-block-btn-bg) !important;
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.is-style-more_btn a {
  background: var(--nettoge-retro-block-card-bg) !important;
  box-shadow: 0 0 0 1px var(--nettoge-retro-block-card-border) !important;
  color: var(--nettoge-retro-block-next-fg) !important;
  border-radius: var(--nettoge-retro-block-radius) !important;
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.is-style-more_btn a:hover {
  background: var(--nettoge-retro-block-btn-bg) !important;
  color: var(--nettoge-retro-block-btn-fg) !important;
}

.editor-styles-wrapper [data-type="loos/button"] {
  height: auto !important;
}

/* -------------------------------------------------------------------------- */
/* box-menu / link-list → side-menu                                           */
/* -------------------------------------------------------------------------- */

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-box-menu {
  border: 1px solid var(--nettoge-retro-block-menu-border);
  background: var(--nettoge-retro-block-menu-bg);
  border-radius: var(--nettoge-retro-block-radius);
  overflow: hidden;
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-box-menu.is-style-default {
  --the-border-color: var(--nettoge-retro-block-menu-row-bottom);
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-box-menu .swell-block-box-menu__item {
  color: var(--nettoge-retro-block-menu-link);
  border-top: 1px solid var(--nettoge-retro-block-menu-row-top);
  border-bottom: 1px solid var(--nettoge-retro-block-menu-row-bottom);
  background: transparent;
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-box-menu .swell-block-box-menu__link {
  padding: 8px;
  font-size: 12px;
  color: inherit;
  text-decoration: none;
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-box-menu .swell-block-box-menu__link:hover,
:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-box-menu .swell-block-box-menu__link:focus-visible {
  color: var(--nettoge-retro-block-menu-hover-fg);
  background: var(--nettoge-retro-block-menu-hover-bg);
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-box-menu .swell-block-box-menu__text {
  font-size: 12px;
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-box-menu.is-style-fill .swell-block-box-menu__item {
  color: var(--nettoge-retro-block-menu-num-fg);
  background: var(--nettoge-retro-block-menu-num-bg);
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-linkList:not(.is-style-button) {
  --the-color: var(--nettoge-retro-block-menu-hover-fg);
  border: 1px solid var(--nettoge-retro-block-menu-border);
  background: var(--nettoge-retro-block-menu-bg);
  border-radius: var(--nettoge-retro-block-radius);
  overflow: hidden;
  --the-radius: 0;
  --the-list-padding: 8px;
  --the-gap: 0;
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-linkList:not(.is-style-button) .swell-block-linkList__item {
  border-top: 1px solid var(--nettoge-retro-block-menu-row-top);
  border-bottom: 1px solid var(--nettoge-retro-block-menu-row-bottom);
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-linkList:not(.is-style-button) .swell-block-linkList__link {
  color: var(--nettoge-retro-block-menu-link);
  font-size: 12px;
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-linkList:not(.is-style-button) .swell-block-linkList__link:hover,
:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-linkList:not(.is-style-button) .swell-block-linkList__link:focus-visible {
  color: var(--nettoge-retro-block-menu-hover-fg);
  background: var(--nettoge-retro-block-menu-hover-bg);
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-linkList.is-style-button .swell-block-linkList__link {
  border-radius: var(--nettoge-retro-block-radius);
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-linkList.is-style-button.-fill .swell-block-linkList__link {
  background: var(--nettoge-retro-block-btn-bg);
  color: var(--nettoge-retro-block-btn-fg) !important;
  border-color: var(--nettoge-retro-block-btn-border);
}

/* -------------------------------------------------------------------------- */
/* post-list / columns → angular cards                                        */
/* -------------------------------------------------------------------------- */

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.p-postList.-type-card > .p-postList__item,
:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.p-postList.-type-thumb > .p-postList__item {
  background: var(--nettoge-retro-block-card-bg);
  border: 1px solid var(--nettoge-retro-block-card-border);
  border-radius: var(--nettoge-retro-block-radius);
  box-shadow: var(--nettoge-retro-block-card-shadow);
  overflow: hidden;
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.p-postList .p-postList__title {
  color: var(--nettoge-retro-block-step-title);
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.p-postList .p-postList__excerpt {
  color: var(--nettoge-retro-block-list-muted);
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.wp-block-columns {
  gap: 1rem;
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.wp-block-column:not(:only-child) {
  border-radius: var(--nettoge-retro-block-radius);
}

/* Keep editor column / group resize UI intact */
.editor-styles-wrapper :is([data-type="core/columns"], [data-type="core/column"], [data-type="core/group"]) {
  outline-offset: 1px;
}

/* -------------------------------------------------------------------------- */
/* Phase 6 opt-in variants — mission / status / next                          */
/* -------------------------------------------------------------------------- */

/* core/list → mission-list (opt-in; absolute num rail keeps nested title/desc intact) */
:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
:is(ul, ol).is-style-nettoge-mission {
  counter-reset: nettoge-mission;
  list-style: none !important;
  margin: 14px 4px 22px;
  padding: 0 !important;
  border-top: 1px solid var(--nettoge-retro-block-step-border);
  border-left: 0 !important;
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
:is(ul, ol).is-style-nettoge-mission > li {
  position: relative;
  margin: 0 !important;
  padding: 8px 11px 8px 63px !important;
  border-right: 1px solid var(--nettoge-retro-block-list-border);
  border-bottom: 1px solid var(--nettoge-retro-block-list-border);
  border-left: 1px solid var(--nettoge-retro-block-list-border);
  background: var(--nettoge-retro-block-panel-bg);
  color: var(--nettoge-retro-block-list-muted);
  font-size: 11px;
  line-height: 1.55;
  counter-increment: nettoge-mission;
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
:is(ul, ol).is-style-nettoge-mission > li:nth-child(even) {
  background: var(--nettoge-retro-block-list-stripe);
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
:is(ul, ol).is-style-nettoge-mission > li::before {
  content: counter(nettoge-mission, decimal-leading-zero) !important;
  position: absolute !important;
  top: 0;
  left: 0;
  bottom: 0;
  display: grid !important;
  place-items: center;
  width: 52px;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--nettoge-retro-block-list-num-fg) !important;
  background: var(--nettoge-retro-block-list-num-bg) !important;
  border: 0 !important;
  border-right: 1px solid var(--nettoge-retro-block-list-num-border) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font: bold 13px/1 Arial, sans-serif !important;
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
:is(ul, ol).is-style-nettoge-mission > li::after {
  content: none !important;
  display: none !important;
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
:is(ul, ol).is-style-nettoge-mission > li > :is(p, div) {
  margin: 0;
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
:is(ul, ol).is-style-nettoge-mission > li > :is(strong, b),
:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
:is(ul, ol).is-style-nettoge-mission > li :is(strong, b):first-child {
  display: block;
  color: var(--nettoge-retro-block-list-title);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
}

/* core/group + loos/dl → page status (side-status) */
:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.wp-block-group.is-style-nettoge-status {
  margin: 1em 0;
  padding: 9px;
  border: 1px solid var(--nettoge-retro-status-border, #aab2b8);
  background: var(--nettoge-retro-status-bg, #f8f8f8);
  border-radius: var(--nettoge-retro-block-radius);
  box-shadow: none;
  font-size: 11px;
  color: var(--color_text);
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.wp-block-group.is-style-nettoge-status > :first-child {
  display: block;
  margin: -9px -9px 7px !important;
  padding: 5px 8px !important;
  color: var(--nettoge-retro-status-title-fg, var(--nettoge-retro-side-section-fg));
  background: var(--nettoge-retro-status-title-bg, var(--nettoge-retro-side-section-bg));
  border-bottom: 1px solid var(--nettoge-retro-status-title-border, var(--nettoge-retro-side-section-border));
  font-size: 11px;
  font-weight: 700;
  line-height: 1.4;
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-dl.is-style-nettoge-status {
  margin: 1em 0;
  padding: 9px;
  border: 1px solid var(--nettoge-retro-status-border, #aab2b8);
  background: var(--nettoge-retro-status-bg, #f8f8f8);
  border-radius: var(--nettoge-retro-block-radius);
  font-size: 11px;
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-dl.is-style-nettoge-status > .swell-block-dl__dt {
  color: var(--nettoge-retro-status-dt, #687781) !important;
  background: transparent !important;
  border: 0 !important;
  font-size: 11px;
  font-weight: 700;
  text-shadow: none;
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-dl.is-style-nettoge-status > .swell-block-dl__dd {
  margin: 0 0 4px;
  padding: 2px 0;
  border-bottom: 1px dotted var(--nettoge-retro-block-list-border) !important;
  background: transparent;
  color: var(--color_text);
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-dl.is-style-nettoge-status > .swell-block-dl__dd:last-child {
  border-bottom: 0 !important;
  margin-bottom: 0;
}

/* loos/post-link → next-guide (stronger than quiet blogcard) */
:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-postLink.is-style-nettoge-next :is(.p-blogCard, .p-blogCard--nettoge),
:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-postLink.is-style-nettoge-next .swell-block-postLink__nolink {
  position: relative;
  display: grid !important;
  grid-template-columns: 54px minmax(0, 1fr);
  align-items: stretch;
  margin: 16px 4px 24px;
  padding: 0 !important;
  color: var(--nettoge-retro-block-next-fg);
  background: var(--nettoge-retro-block-next-bg) !important;
  border: 1px solid var(--nettoge-retro-block-next-border) !important;
  border-radius: var(--nettoge-retro-block-radius);
  box-shadow: var(--nettoge-retro-block-next-shadow) !important;
  overflow: hidden;
  text-decoration: none;
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-postLink.is-style-nettoge-next :is(.p-blogCard, .p-blogCard--nettoge)::before,
:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-postLink.is-style-nettoge-next .swell-block-postLink__nolink::before {
  content: "NEXT";
  display: grid;
  place-items: center;
  grid-row: 1 / -1;
  color: var(--nettoge-retro-block-next-accent-fg);
  background: var(--nettoge-retro-block-next-accent-bg);
  font: bold 10px/1 Arial, sans-serif;
  letter-spacing: 0.04em;
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-postLink.is-style-nettoge-next :is(.p-blogCard__thumb, .p-blogCard__thumbLabel) {
  display: none !important;
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-postLink.is-style-nettoge-next .p-blogCard__body {
  grid-column: 2;
  padding: 9px 12px !important;
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-postLink.is-style-nettoge-next .p-blogCard__title {
  color: var(--nettoge-retro-block-next-fg);
  font-size: 14px;
  font-weight: 700;
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.swell-block-postLink.is-style-nettoge-next :is(.p-blogCard__excerpt, .p-blogCard__url) {
  color: var(--nettoge-retro-block-next-muted);
  font-size: 12px;
}

/* -------------------------------------------------------------------------- */
/* Non-interference guards                                                    */
/* -------------------------------------------------------------------------- */

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
:is(.nexus-card, .nmc, .etb-wrapper, .etb-guide, .ng-stepper, .game-mod-block, .isr-block, .ant-container, .inline-gallery-lightbox) {
  /* NettogeCore owns chrome — do not inherit block panel vars onto internals */
  --nettoge-retro-block-panel-border: var(--border-swell-box, var(--color_border));
}

:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.is-style-parchment,
:is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
.is-style-parchment :is(.cap_box_ttl, .cap_box_content) {
  /* parchment owns its surfaces */
  box-shadow: none;
}

@media (prefers-reduced-motion: reduce) {
  :is(.post_content, .entry-content, .wp-block-post-content, .editor-styles-wrapper)
  .swell-block-step.is-style-nettoge-route > .swell-block-step__item {
    transition: none;
  }
}
