/*
 * CHEAPUNO V8.1 — site-wide visual sync.
 * Goal: keep the homepage direction, make single/archive/search/utility pages
 * feel like the same publication, and avoid legacy Ming/Song typography.
 */
:root {
  --cu8s-bg:#ffffff;
  --cu8s-ink:#222826;
  --cu8s-muted:#68716d;
  --cu8s-line:#e4e9e6;
  --cu8s-line-strong:#c7d0cb;
  --cu8s-accent:#d96f4d;
  --cu8s-accent-dark:#9f472f;
  --cu8s-seiji:#eef6f2;
  --cu8s-seiji-2:#f7faf8;
  --cu8s-blue:#f3f7f8;
  --cu8s-max:1380px;
  --cu8s-reading:790px;
  --cu8s-font:"Noto Sans TC",-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang TC","Microsoft JhengHei",sans-serif;
}
body.cu8-sitewide {
  background:var(--cu8s-bg);
  color:var(--cu8s-ink);
  font-family:var(--cu8s-font);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.cu8-sitewide h1,
body.cu8-sitewide h2,
body.cu8-sitewide h3,
body.cu8-sitewide h4,
body.cu8-sitewide h5,
body.cu8-sitewide h6,
body.cu8-sitewide button,
body.cu8-sitewide input,
body.cu8-sitewide select,
body.cu8-sitewide textarea {
  font-family:var(--cu8s-font);
}
body.cu8-sitewide h1, body.cu8-sitewide h2, body.cu8-sitewide h3 { letter-spacing:.01em; }
body.cu8-sitewide a { text-underline-offset:.16em; }

/* Blocksy header / footer on non-home pages: visually match the custom home header. */
body.cu8-subpage .ct-header [data-row] { background:#fff; box-shadow:none; border-color:var(--cu8s-line); }
body.cu8-subpage .ct-header [data-row="middle"] { min-height:74px; }
body.cu8-subpage .ct-header .ct-container { width:min(var(--cu8s-max),calc(100% - 64px)); max-width:var(--cu8s-max); }
body.cu8-subpage .ct-header .menu > li > a,
body.cu8-subpage .ct-header .ct-header-text,
body.cu8-subpage .ct-header .ct-icon-container { font-family:var(--cu8s-font); font-size:.81rem; font-weight:600; color:var(--cu8s-ink); }
body.cu8-subpage .ct-header .menu > li > a:hover { color:var(--cu8s-accent); }
body.cu8-subpage .ct-footer { background:#f8faf9; border-top:1px solid var(--cu8s-line); }
body.cu8-subpage .ct-footer, body.cu8-subpage .ct-footer a { font-family:var(--cu8s-font); }

/* Parent page titles / archive heroes. */
body.cu8-subpage .hero-section[data-type="type-2"],
body.cu8-subpage .hero-section[data-type="type-1"] {
  background:linear-gradient(90deg,var(--cu8s-seiji),#fff 58%)!important;
  border-bottom:1px solid var(--cu8s-line);
}
body.cu8-subpage .hero-section .page-title,
body.cu8-subpage .hero-section h1 { color:var(--cu8s-ink); font-family:var(--cu8s-font); font-weight:650; letter-spacing:.01em; }
body.cu8-subpage .entry-content,
body.cu8-subpage .entry-content p,
body.cu8-subpage .entry-content li { font-family:var(--cu8s-font); }

/* Re-skin legacy cards and Finder without removing their functionality. */
body.cu8-subpage .trace-article-card { border:1px solid var(--cu8s-line); border-radius:0; box-shadow:none; background:#fff; }
body.cu8-subpage .trace-article-card__title,
body.cu8-subpage .trace-article-card__title a { font-family:var(--cu8s-font); font-weight:650; color:var(--cu8s-ink); }
body.cu8-subpage .trace-article-card__meta,
body.cu8-subpage .trace-article-card__meta a { color:var(--cu8s-accent); }
body.cu8-subpage .trace-button { border-radius:4px; background:var(--cu8s-accent); border-color:var(--cu8s-accent); font-family:var(--cu8s-font); font-weight:700; }
body.cu8-subpage .trace-button:hover { background:var(--cu8s-accent-dark); border-color:var(--cu8s-accent-dark); }
body.cu8-subpage .trace-finder,
body.cu8-subpage .trace-empty-state { border-radius:0; background:var(--cu8s-seiji-2); border:1px solid var(--cu8s-line); }
body.cu8-subpage .trace-section-heading h2,
body.cu8-subpage .trace-finder h2 { font-family:var(--cu8s-font); font-weight:650; }

/* Custom single/archive/search templates. */
.cu8p-wrap { width:min(var(--cu8s-max),calc(100% - 64px)); margin-inline:auto; }
.cu8p-breadcrumb { display:flex; flex-wrap:wrap; gap:.35rem; padding:1rem 0 .2rem; color:#86908b; font-size:.69rem; }
.cu8p-breadcrumb a { color:#6f7a75; }
.cu8p-breadcrumb a:hover { color:var(--cu8s-accent); }
.cu8p-breadcrumb span[aria-hidden] { color:#b2bbb6; }
.cu8p-layout { display:grid; grid-template-columns:minmax(0,var(--cu8s-reading)) minmax(260px,310px); justify-content:center; gap:clamp(2.5rem,6vw,5rem); padding:2rem 0 5rem; align-items:start; }
.cu8p-main { min-width:0; }
.cu8p-aside { position:sticky; top:104px; min-width:0; }
body.admin-bar .cu8p-aside { top:136px; }
.cu8p-kicker { margin:0 0 .45rem; color:var(--cu8s-accent); font-size:.71rem; font-weight:700; letter-spacing:.045em; }
.cu8p-title { margin:0; color:var(--cu8s-ink); font-size:clamp(2rem,4vw,3.15rem); line-height:1.28; font-weight:650; letter-spacing:.005em; text-wrap:pretty; }
.cu8p-dek { margin:.9rem 0 0; color:var(--cu8s-muted); font-size:1rem; line-height:1.85; }
.cu8p-postmeta { display:flex; flex-wrap:wrap; gap:.45rem .8rem; margin-top:1rem; color:#8b948f; font-size:.7rem; }
.cu8p-disclosure { color:#8a746b; }
.cu8p-feature { margin:2rem 0 2.5rem; }
.cu8p-feature img { width:100%; max-height:520px; object-fit:cover; border-radius:0; }
.cu8p-feature figcaption { margin-top:.55rem; color:#88918c; font-size:.68rem; text-align:right; }
.cu8p-feature figcaption a { color:inherit; }
.cu8p-actions { display:flex; gap:.55rem; margin:-1.5rem 0 2.2rem; }
.cu8p-actions button { border:1px solid var(--cu8s-line-strong); border-radius:4px; background:#fff; padding:.55rem .75rem; color:#52605a; font-size:.72rem; cursor:pointer; }
.cu8p-actions button:hover, .cu8p-actions button.is-added { border-color:var(--cu8s-accent); color:var(--cu8s-accent); }
.cu8p-content { max-width:100%; color:var(--cu8s-ink); font-size:1rem; line-height:1.95; }
.cu8p-content > p:first-child { font-size:1.08rem; line-height:1.9; }
.cu8p-content h2 { margin:2.6em 0 .75em; font-size:clamp(1.55rem,2.8vw,2rem); line-height:1.38; font-weight:650; }
.cu8p-content h3 { margin:2.1em 0 .65em; font-size:clamp(1.2rem,2vw,1.48rem); line-height:1.45; font-weight:650; }
.cu8p-content p, .cu8p-content li { color:#303835; }
.cu8p-content img { border-radius:0; }
.cu8p-content blockquote { margin:2rem 0; border-left:3px solid #8fa79a; background:var(--cu8s-seiji-2); padding:1.1rem 1.35rem; color:#41504a; }
.cu8p-content .wp-block-table { overflow-x:auto; margin:1.7rem 0 2.2rem; }
.cu8p-content .wp-block-table table { min-width:620px; border-collapse:collapse; font-size:.88rem; }
.cu8p-content .wp-block-table th, .cu8p-content .wp-block-table td { border:1px solid var(--cu8s-line); padding:.8rem; text-align:left; vertical-align:top; }
.cu8p-content .wp-block-table th { background:var(--cu8s-seiji-2); font-weight:650; }

/* Existing affiliate shortcode, synced with the new visual language. */
.cu8p-content .trace-solution-card,
body.cu8-subpage .trace-solution-card { margin:2.3rem 0; border:1px solid var(--cu8s-line); border-top:3px solid var(--cu8s-accent); background:var(--cu8s-seiji-2); padding:1.35rem 1.45rem; }
.cu8p-content .trace-solution-card h3,
body.cu8-subpage .trace-solution-card h3 { font-family:var(--cu8s-font); font-size:1.25rem; font-weight:650; }
.cu8p-content .trace-solution-card .trace-button,
body.cu8-subpage .trace-solution-card .trace-button { display:inline-flex; margin-top:.35rem; border-radius:4px; background:var(--cu8s-accent); border:0; padding:.65rem .9rem; color:#fff; font-size:.75rem; font-weight:700; }

.cu8p-aside-block { border-top:2px solid var(--cu8s-ink); padding:1rem 0 1.2rem; }
.cu8p-aside-block + .cu8p-aside-block { border-top-width:1px; border-color:var(--cu8s-line-strong); }
.cu8p-aside-label { color:var(--cu8s-accent); font-size:.65rem; font-weight:800; letter-spacing:.045em; }
.cu8p-aside-block h2, .cu8p-aside-block h3 { margin:.35rem 0 .45rem; font-size:1.1rem; line-height:1.45; font-weight:650; }
.cu8p-aside-block p { margin:0 0 .65rem; color:var(--cu8s-muted); font-size:.72rem; line-height:1.7; }
.cu8p-aside-block a { color:var(--cu8s-accent); font-size:.72rem; font-weight:700; }
.cu8p-aside-fit { display:grid; grid-template-columns:58px 1fr; gap:.4rem; padding:.15rem 0; color:#59665f; font-size:.66rem; }
.cu8p-aside-fit span:first-child { color:#8a948f; }
.cu8p-kkday { margin:.25rem 0 1rem; border-block:1px solid var(--cu8s-line); padding:.75rem 0 1rem; min-width:0; overflow:visible; }
.cu8p-kkday > p { margin:0 0 .45rem; color:#8b948f; font-size:.62rem; font-weight:700; letter-spacing:.05em; }
.cu8p-kkday .kkday-product-media, .cu8p-kkday iframe { display:block!important; width:100%!important; max-width:100%!important; min-width:0!important; }
.cu8p-next { margin-top:3.2rem; border-top:2px solid var(--cu8s-ink); }
.cu8p-next h2 { margin:1rem 0 .25rem; font-size:1.25rem; font-weight:650; }
.cu8p-next-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-top:1rem; }
.cu8p-next-card { border:1px solid var(--cu8s-line); background:#fff; }
.cu8p-next-card img, .cu8p-next-card .trace-card-image { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; }
.cu8p-next-card .trace-card-image--empty { display:grid; place-items:center; background:var(--cu8s-seiji); color:#7c8983; font-size:.72rem; }
.cu8p-next-card__body { padding:.85rem; }
.cu8p-next-card__meta { color:var(--cu8s-accent); font-size:.62rem; font-weight:700; }
.cu8p-next-card h3 { margin:.35rem 0 0; font-size:.9rem; line-height:1.5; font-weight:600; }

/* Archive / search pages */
.cu8a-header { padding:2.4rem 0 1.7rem; border-bottom:1px solid var(--cu8s-line); background:linear-gradient(90deg,var(--cu8s-seiji),#fff 62%); }
.cu8a-kicker { margin:0 0 .35rem; color:var(--cu8s-accent); font-size:.69rem; font-weight:800; }
.cu8a-title { margin:0; font-size:clamp(1.8rem,3vw,2.55rem); line-height:1.3; font-weight:650; }
.cu8a-description { max-width:720px; margin:.65rem 0 0; color:var(--cu8s-muted); font-size:.83rem; line-height:1.75; }
.cu8a-layout { display:grid; grid-template-columns:minmax(0,1fr) 286px; gap:clamp(2rem,5vw,4rem); padding:2.5rem 0 5rem; align-items:start; }
.cu8a-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; }
.cu8a-card { border-bottom:1px solid var(--cu8s-line); padding-bottom:1.1rem; }
.cu8a-card__image img, .cu8a-card__image .trace-card-image { width:100%; aspect-ratio:16/10; object-fit:cover; background:var(--cu8s-seiji); }
.cu8a-card__image .trace-card-image--empty { display:grid; place-items:center; color:#7c8983; font-size:.74rem; }
.cu8a-card__meta { margin-top:.75rem; color:var(--cu8s-accent); font-size:.64rem; font-weight:700; }
.cu8a-card h2 { margin:.35rem 0 .4rem; font-size:1.16rem; line-height:1.5; font-weight:650; }
.cu8a-card p { margin:0; color:var(--cu8s-muted); font-size:.75rem; line-height:1.7; }
.cu8a-pagination { margin-top:2rem; }
.cu8a-pagination .page-numbers { display:flex; flex-wrap:wrap; gap:.45rem; list-style:none; padding:0; }
.cu8a-pagination a, .cu8a-pagination span { display:grid; place-items:center; min-width:2.1rem; min-height:2.1rem; border:1px solid var(--cu8s-line); color:#5b6861; font-size:.72rem; }
.cu8a-pagination .current { border-color:var(--cu8s-accent); color:var(--cu8s-accent); }

/* Make utility Pages calmer and readable even when phase1.css is still present. */
body.cu8-subpage.page .site-main > .ct-container { width:min(1120px,calc(100% - 64px)); max-width:1120px; }
body.cu8-subpage.page .entry-content { font-family:var(--cu8s-font); }
body.cu8-subpage.page .entry-content h2, body.cu8-subpage.page .entry-content h3 { font-family:var(--cu8s-font); font-weight:650; }

@media (max-width:1024px) {
  body.cu8-subpage .ct-header .ct-container, .cu8p-wrap { width:calc(100% - 40px); }
  .cu8p-layout, .cu8a-layout { grid-template-columns:minmax(0,1fr) 260px; gap:2.5rem; }
  .cu8p-next-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:760px) {
  body.cu8-subpage .ct-header .ct-container, .cu8p-wrap, .cu8a-header .cu8p-wrap { width:calc(100% - 30px); }
  .cu8p-layout, .cu8a-layout { display:block; padding-top:1.4rem; }
  .cu8p-aside, .cu8a-layout > aside { position:static; margin-top:2.5rem; }
  .cu8p-title { font-size:2rem; }
  .cu8p-dek { font-size:.9rem; }
  .cu8p-content { font-size:.97rem; line-height:1.9; }
  .cu8p-next-grid, .cu8a-grid { grid-template-columns:1fr; }
  body.cu8-subpage.page .site-main > .ct-container { width:calc(100% - 30px); }
}

/* CHEAPUNO V9 operational corrections */
body.cu8-sitewide {
  --cu8-bg:#fff; --cu8-ink:#202321; --cu8-muted:#6f7571; --cu8-line:#e5e9e6;
  --cu8-line-strong:#c5cdc8; --cu8-accent:#dc6f4d; --cu8-accent-dark:#9b472e;
  --cu8-seiji:#eef6f2; --cu8-seiji-2:#f6faf8; --cu8-blue:#f3f7f8; --cu8-max:1520px;
}
/* The custom header/footer are now the only public shell on every template. */
body.cu8-sitewide .ct-header, body.cu8-sitewide .ct-footer, body.cu8-sitewide .ct-trending-block { display:none!important; }
body.cu8-sitewide .cu8-header, body.cu8-sitewide .cu8-footer { display:block!important; }
body.cu8-sitewide .cu8-header *, body.cu8-sitewide .cu8-footer * { box-sizing:border-box; }
body.cu8-sitewide .cu8-header a, body.cu8-sitewide .cu8-footer a { text-decoration:none; }
.cu8-right-rail { position:static!important; }
.cu8-kkday-widget, .cu8p-kkday { max-height:none!important; height:auto!important; overflow:visible!important; }
.cu8-kkday-widget iframe, .cu8p-kkday iframe { max-height:none!important; overflow:visible!important; }
.cu9-empty-library { border:1px solid var(--cu8s-line); background:var(--cu8s-seiji-2); padding:2rem; }
.cu9-empty-library h2 { margin:.25rem 0 .5rem; font-size:1.6rem; }
.cu9-empty-library p:last-child { margin:0; color:var(--cu8s-muted); line-height:1.8; }
.cu9-ad-slot { margin:2.2rem 0; border-block:1px solid var(--cu8s-line-strong); background:#fafcfb; padding:1rem; overflow:hidden; }
.cu9-ad-label { display:block; margin-bottom:.55rem; color:#8a948f; font-size:.62rem; font-weight:700; letter-spacing:.06em; }
.cu9-ad-widget, .cu9-ad-widget > * { max-width:100%; }
.cu9-ad-widget img { display:block; width:100%; height:auto; }
.cu9-ad-widget iframe { display:block; width:100%; max-width:100%; border:0; }
.cu9-ad-title { margin:0 0 .5rem; font-weight:700; }
@media (max-width:760px) {
  .cu9-ad-slot { margin:1.7rem 0; padding:.8rem; }
}

/* ============================================================
 * V11 — long-read article UX and responsive recomposition.
 * ============================================================ */
.cu11-article-wrap{width:min(1520px,calc(100% - 48px))}
.cu11-article-layout{display:grid;grid-template-columns:190px minmax(0,790px) 280px;justify-content:center;gap:30px;align-items:start;padding-top:1.6rem;padding-bottom:5rem}
.cu11-article-main{min-width:0}
.cu11-toc-rail{position:sticky;top:104px;min-width:0}
body.admin-bar .cu11-toc-rail{top:136px}
.cu11-toc-card{border-top:2px solid var(--cu8s-ink);padding-top:.8rem}
.cu11-toc-card>strong{display:block;margin-bottom:.55rem;font-size:.73rem;font-weight:800}
.cu11-toc-card nav{display:grid}
.cu11-toc-card a{display:block;border-left:1px solid #d8dfdb;padding:.34rem 0 .34rem .65rem;color:#626b66!important;font-size:.67rem;line-height:1.5;text-decoration:none}
.cu11-toc-card a[data-level="3"]{padding-left:1rem;color:#7c8580!important;font-size:.63rem}
.cu11-toc-card a:hover,.cu11-toc-card a.is-active{border-left-color:#34483f;color:#1e2521!important}
.cu11-toc-empty{color:#929a95;font-size:.64rem;line-height:1.6}
.cu11-mobile-toc{display:none;margin:0 0 1.4rem;border:1px solid var(--cu8s-line-strong);background:#fafcfb}
.cu11-mobile-toc summary{cursor:pointer;padding:.75rem .85rem;font-size:.78rem;font-weight:800;list-style:none}
.cu11-mobile-toc summary::-webkit-details-marker{display:none}
.cu11-mobile-toc summary::after{content:"＋";float:right;color:#77817b;font-weight:500}
.cu11-mobile-toc[open] summary::after{content:"－"}
.cu11-mobile-toc nav{display:grid;padding:0 .85rem .75rem}
.cu11-mobile-toc a{padding:.42rem 0;border-top:1px solid var(--cu8s-line);color:#4d5952!important;font-size:.74rem;text-decoration:none}
.cu11-mobile-toc a[data-level="3"]{padding-left:.75rem;color:#78817c!important}
.cu11-article-aside{top:104px}
body.admin-bar .cu11-article-aside{top:136px}
.cu11-related-links>a{display:flex;justify-content:space-between;gap:.65rem;border-top:1px solid var(--cu8s-line);padding:.55rem 0;color:#4c5952!important;line-height:1.5;text-decoration:none}
.cu11-related-links>a:first-of-type{margin-top:.45rem}
.cu11-related-links>a span{flex:0 0 auto;color:#9aa29d}
.cu11-related-intro{margin:.25rem 0 1rem;color:var(--cu8s-muted);font-size:.75rem;line-height:1.7}
.cu11-post-nav{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:2.8rem 0 0;padding-top:1.2rem;border-top:1px solid var(--cu8s-line-strong)}
.cu11-post-nav a{display:grid;gap:.28rem;padding:.85rem;border:1px solid var(--cu8s-line);color:var(--cu8s-ink)!important;text-decoration:none}
.cu11-post-nav a:hover{border-color:#9fa9a3;background:#fafcfb}
.cu11-post-nav span{color:#8a938e;font-size:.65rem}
.cu11-post-nav strong{font-size:.82rem;line-height:1.5;font-weight:650}
.cu11-post-nav__next{text-align:right}
.cu11-site .cu8p-content h2,.cu11-site .cu8p-content h3{scroll-margin-top:105px}
.cu11-site .cu8p-content img{max-width:100%;height:auto}
.cu11-site .cu8p-content iframe,.cu11-site .cu8p-content video{max-width:100%}
.cu11-site .cu8p-content figure{max-width:100%}
.cu11-site .cu8p-feature img{width:100%;height:auto;aspect-ratio:16/10;max-height:none;object-fit:cover}

/* Archive/search are content indexes too: stable cards, familiar two-column desktop. */
.cu11-site .cu8a-header{padding:1.55rem 0 1.3rem;background:#fff}
.cu11-site .cu8a-layout{gap:2.3rem}
.cu11-site .cu8a-card__image img,.cu11-site .cu8a-card__image .trace-card-image{aspect-ratio:16/10}

@media(max-width:1280px){
  .cu11-article-wrap{width:min(100% - 40px,1240px)}
  .cu11-article-layout{grid-template-columns:minmax(0,790px) 270px;gap:28px}
  .cu11-toc-rail{display:none}
  .cu11-mobile-toc{display:block}
}
@media(max-width:900px){
  .cu11-article-layout{display:block;padding-top:1.25rem}
  .cu11-article-aside{position:static;margin-top:2.7rem}
  .cu11-article-main{max-width:790px;margin-inline:auto}
}
@media(max-width:760px){
  .cu11-article-wrap{width:calc(100% - 30px)}
  .cu11-article-layout{padding-bottom:3.5rem}
  .cu11-site .cu8p-title{font-size:1.9rem;line-height:1.32}
  .cu11-site .cu8p-content{font-size:.98rem;line-height:1.9}
  .cu11-site .cu8p-content h2{margin-top:2.25em;font-size:1.45rem}
  .cu11-site .cu8p-content h3{font-size:1.16rem}
  .cu11-post-nav{grid-template-columns:1fr}
  .cu11-post-nav__next{text-align:left}
  .cu11-site .cu8p-content .wp-block-table{overflow-x:auto;-webkit-overflow-scrolling:touch}
}


/* ==========================================================
   V12.1 — long-read page: remove TOC/side commerce rails and
   use a wide reading canvas with a controlled text measure.
   ========================================================== */
.cu121-breadcrumb{width:min(980px,100%);margin-inline:auto}
.cu121-article-layout{display:block!important;padding-top:1.55rem!important;padding-bottom:5rem!important}
.cu121-article-main{width:min(980px,100%);max-width:980px!important;margin-inline:auto!important}
.cu121-article-main>header{width:100%}
.cu121-article-main .cu8p-title{font-size:clamp(2.2rem,3.2vw,3rem);line-height:1.3}
.cu121-article-main .cu8p-dek{max-width:820px}
.cu121-article-main .cu8p-content{font-size:1.04rem;line-height:1.98}
.cu121-article-main .cu8p-content>p,
.cu121-article-main .cu8p-content>h2,
.cu121-article-main .cu8p-content>h3,
.cu121-article-main .cu8p-content>h4,
.cu121-article-main .cu8p-content>ul,
.cu121-article-main .cu8p-content>ol,
.cu121-article-main .cu8p-content>blockquote{width:min(800px,100%);margin-left:auto;margin-right:auto}
.cu121-article-main .cu8p-content>h2{width:min(840px,100%)}
.cu121-article-main .cu8p-content>.cu10-ad,
.cu121-article-main .cu8p-content>.wp-block-image,
.cu121-article-main .cu8p-content>figure,
.cu121-article-main .cu8p-content>.wp-block-gallery,
.cu121-article-main .cu8p-content>.wp-block-table,
.cu121-article-main .cu8p-content>.wp-block-group{width:100%;max-width:100%}
.cu121-article-main .cu8p-feature{margin-inline:0}
.cu121-article-main .cu11-related,.cu121-article-main .cu11-post-nav{width:100%}
/* V12.1 custom single.php no longer renders either TOC rail. Keep a hard guard
   in case cached markup from V11 survives briefly after deployment. */
.trace-single-post .cu11-toc-rail,.trace-single-post .cu11-mobile-toc,.trace-single-post .cu11-article-aside{display:none!important}
@media(max-width:1040px){
  .cu121-article-main{width:min(900px,100%)}
  .cu121-breadcrumb{width:min(900px,100%)}
}
@media(max-width:760px){
  .cu121-breadcrumb,.cu121-article-main{width:100%}
  .cu121-article-main .cu8p-title{font-size:1.9rem}
  .cu121-article-main .cu8p-content{font-size:1rem;line-height:1.9}
  .cu121-article-main .cu8p-content>p,
  .cu121-article-main .cu8p-content>h2,
  .cu121-article-main .cu8p-content>h3,
  .cu121-article-main .cu8p-content>h4,
  .cu121-article-main .cu8p-content>ul,
  .cu121-article-main .cu8p-content>ol,
  .cu121-article-main .cu8p-content>blockquote{width:100%}
}


/* ==========================================================
   V12.2 — restore useful article side rails without restoring the tiny TOC.
   The whole article canvas grows, so the centre is WIDER than V12 while both
   side rails remain available on large desktop screens.
   ========================================================== */
.cu122-article-wrap{width:min(1500px,calc(100% - 48px))!important}
.cu122-breadcrumb{width:100%!important;margin-inline:auto}
.cu122-article-layout{display:grid!important;grid-template-columns:170px minmax(0,900px) 270px!important;justify-content:center!important;gap:28px!important;align-items:start!important;padding-top:1.55rem!important;padding-bottom:5rem!important}
.cu122-article-main{width:100%!important;max-width:900px!important;margin:0!important;min-width:0}
.cu122-article-main .cu8p-title{font-size:clamp(2.15rem,3vw,2.9rem);line-height:1.3}
.cu122-article-main .cu8p-dek{max-width:860px}
.cu122-article-main .cu8p-content{font-size:1.03rem;line-height:1.96}
.cu122-article-main .cu8p-content>p,.cu122-article-main .cu8p-content>ul,.cu122-article-main .cu8p-content>ol,.cu122-article-main .cu8p-content>blockquote{max-width:860px;margin-left:auto;margin-right:auto}
.cu122-article-main .cu8p-content>h2,.cu122-article-main .cu8p-content>h3,.cu122-article-main .cu8p-content>h4{max-width:880px;margin-left:auto;margin-right:auto}
.cu122-article-main .cu8p-content>.cu10-ad,.cu122-article-main .cu8p-content>.wp-block-image,.cu122-article-main .cu8p-content>figure,.cu122-article-main .cu8p-content>.wp-block-gallery,.cu122-article-main .cu8p-content>.wp-block-table,.cu122-article-main .cu8p-content>.wp-block-group,.cu122-article-main .cu8p-content>.wp-block-columns{width:100%;max-width:100%}
/* V12.1 intentionally hid all rails. V12.2 overrides that hard guard. */
.trace-single-post .cu122-article-left,.trace-single-post .cu122-article-right{display:block!important}
.cu122-article-left{position:sticky;top:104px;min-width:0}
body.admin-bar .cu122-article-left{top:136px}
/* A tall third-party iframe should never be a sticky viewport; it remains in
   normal document flow so its full height contributes to page height. */
.cu122-article-right{position:static!important;min-width:0}
.cu122-side-block{border-top:2px solid var(--cu8s-ink);padding:.85rem 0 1.05rem;margin:0 0 1.4rem}
.cu122-side-block+.cu122-side-block{border-top-width:1px;border-color:var(--cu8s-line-strong)}
.cu122-side-block h2{margin:0 0 .55rem;font-size:.78rem;line-height:1.4;font-weight:800}
.cu122-side-block>a{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;padding:.48rem 0;border-bottom:1px solid var(--cu8s-line);color:#56615b!important;font-size:.71rem;line-height:1.55;text-decoration:none}
.cu122-side-block>a:hover{color:#202622!important}
.cu122-side-block>a strong{font-weight:650;color:inherit}
.cu122-side-block>a span{flex:0 0 auto;color:#9aa29d;font-size:.62rem}
.cu122-side-ad>div,.cu122-side-ad .kkday-product-media,.cu122-side-ad iframe{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;max-height:none!important;overflow:visible!important;clip:auto!important;transform:none!important}
@media(max-width:1380px){
  .cu122-article-wrap{width:min(1240px,calc(100% - 40px))!important}
  .cu122-article-layout{grid-template-columns:minmax(0,880px) 260px!important;gap:28px!important}
  .cu122-article-left{display:none!important}
  .cu122-article-main{max-width:880px!important}
}
@media(max-width:1040px){
  .cu122-article-layout{display:block!important;padding-top:1.25rem!important}
  .cu122-article-main{max-width:900px!important;margin-inline:auto!important}
  .cu122-article-right{display:none!important}
}
@media(max-width:760px){
  .cu122-article-wrap{width:calc(100% - 30px)!important}
  .cu122-article-main .cu8p-title{font-size:1.9rem}
  .cu122-article-main .cu8p-content{font-size:1rem;line-height:1.9}
  .cu122-article-main .cu8p-content>p,.cu122-article-main .cu8p-content>ul,.cu122-article-main .cu8p-content>ol,.cu122-article-main .cu8p-content>blockquote,.cu122-article-main .cu8p-content>h2,.cu122-article-main .cu8p-content>h3,.cu122-article-main .cu8p-content>h4{max-width:100%}
}


/* ==========================================================
   V12.4 — stable publication rails + real TOC + no observer loops
   One 1480px desktop grid aligns header, home, article, footer.
   ========================================================== */
@media(min-width:1281px){
  .cu11-site .cu107-header__inner,
  .cu11-site .cu107-footer__inner,
  .cu12-home .cu108-shell,
  .cu124-article-wrap{width:min(1480px,calc(100% - 48px))!important;max-width:1480px!important}

  .cu12-home .cu12-home-layout{grid-template-columns:190px minmax(0,1fr) 330px!important;gap:30px!important}
  .cu124-article-layout{display:grid!important;grid-template-columns:200px minmax(0,890px) 330px!important;gap:30px!important;justify-content:stretch!important;align-items:start!important;padding-top:1.5rem!important;padding-bottom:5rem!important}
}

.cu124-article-main{width:100%!important;max-width:890px!important;min-width:0!important;margin:0!important}
.cu124-article-main .cu8p-title{font-size:clamp(2.15rem,3vw,2.95rem);line-height:1.29}
.cu124-article-main .cu8p-dek{max-width:840px}
.cu124-article-main .cu8p-content{font-size:1.03rem;line-height:1.96}
.cu124-article-main .cu8p-content>p,.cu124-article-main .cu8p-content>ul,.cu124-article-main .cu8p-content>ol,.cu124-article-main .cu8p-content>blockquote{max-width:820px;margin-left:auto;margin-right:auto}
.cu124-article-main .cu8p-content>h2,.cu124-article-main .cu8p-content>h3,.cu124-article-main .cu8p-content>h4{max-width:850px;margin-left:auto;margin-right:auto}
.cu124-article-main .cu8p-content>.cu10-ad,.cu124-article-main .cu8p-content>.wp-block-image,.cu124-article-main .cu8p-content>figure,.cu124-article-main .cu8p-content>.wp-block-gallery,.cu124-article-main .cu8p-content>.wp-block-table,.cu124-article-main .cu8p-content>.wp-block-group,.cu124-article-main .cu8p-content>.wp-block-columns{width:100%;max-width:100%}

/* Desktop TOC: large enough to scan; current section is visibly highlighted. */
.trace-single-post .cu124-article-left{display:block!important;position:sticky!important;top:104px!important;min-width:0!important}
body.admin-bar.trace-single-post .cu124-article-left{top:136px!important}
.cu124-toc-card{border-top:2px solid #222826;padding-top:.82rem}
.cu124-toc-card>strong,.cu124-topic-links>strong{display:block;margin-bottom:.62rem;font-size:.82rem;font-weight:800;letter-spacing:.01em}
.cu124-toc-card nav{display:grid;max-height:56vh;overflow:auto;padding-right:3px;scrollbar-width:thin}
.cu124-toc-card a{display:block;border-left:2px solid #dfe4e1;padding:.46rem .25rem .46rem .72rem;color:#4e5a54!important;font-size:.78rem;line-height:1.55;text-decoration:none}
.cu124-toc-card a[data-level="3"]{padding-left:1.15rem;font-size:.7rem;color:#78827d!important}
.cu124-toc-card a:hover{background:#f7f9f8;color:#202622!important}
.cu124-toc-card a.is-active{border-left-color:#d96f4d;background:#f7f9f8;color:#1f2723!important;font-weight:750}
.cu124-topic-links{margin-top:1.25rem;border-top:1px solid #dfe4e1;padding-top:.85rem}
.cu124-topic-links a{display:flex;justify-content:space-between;gap:.4rem;padding:.42rem 0;border-bottom:1px solid #edf0ee;color:#66716b!important;font-size:.69rem;text-decoration:none}
.cu124-topic-links a span{color:#a0a8a3}

/* Right rail is normal document flow: no sticky, no max-height, no clipping.
   Several official units intentionally fill the long article rail. */
.trace-single-post .cu124-article-right{display:block!important;position:static!important;min-width:0!important;overflow:visible!important}
.cu124-commerce-block,.cu124-side-list{border-top:2px solid #222826;padding:.85rem 0 1.1rem;margin:0 0 2.1rem;overflow:visible!important;max-height:none!important}
.cu124-commerce-block h2,.cu124-side-list h2{margin:0 0 .72rem;font-size:.8rem;font-weight:800}
.cu124-commerce-block .kkday-product-media,.cu124-commerce-block iframe{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;max-height:none!important;overflow:visible!important;clip:auto!important;transform:none!important}
.cu124-side-list a{display:flex;justify-content:space-between;gap:.7rem;padding:.58rem 0;border-bottom:1px solid #e5e9e7;color:#4e5a54!important;text-decoration:none;font-size:.69rem;line-height:1.5}
.cu124-side-list strong{font-weight:650}.cu124-side-list span{flex:0 0 auto;color:#939c97;font-size:.6rem}

/* Article interstitial: native 4-card OID, compact viewport; hide the beginning
   of KKday's lower CTA/footer without touching the product price row. */
.cu11-site .cu10-ad--article.cu10-ad--kkday .cu10-ad__kkday{height:236px!important;min-height:236px!important;max-height:236px!important;overflow:hidden!important}
.cu11-site .cu10-ad--article.cu10-ad--kkday .cu10-ad__kkday iframe{top:-20px!important;width:125%!important;min-width:125%!important;height:470px!important;transform:scale(.80)!important;transform-origin:top left!important}

/* Homepage rails and third-party inventory: full-height and never cropped. */
.cu12-home .cu108-right-rail,.cu12-home .cu12-side-commerce,.cu12-home .cu12-side-ad,.cu12-home .cu12-side-ad>div,.cu12-home .cu12-side-ad iframe,.cu12-home .cu12-side-ad .kkday-product-media{min-height:0!important;max-height:none!important;overflow:visible!important;clip:auto!important;transform:none!important}

/* Mobile/tablet: one reading column; TOC becomes disclosure; no side commerce. */
.cu124-mobile-toc{display:none}
@media(max-width:1280px){
  .cu124-article-wrap{width:min(1180px,calc(100% - 40px))!important}
  .cu124-article-layout{grid-template-columns:190px minmax(0,1fr)!important;gap:28px!important}
  .cu124-article-right{display:none!important}
  .cu124-article-main{max-width:900px!important}
}
@media(max-width:980px){
  .cu124-article-layout{display:block!important;padding-top:1.2rem!important}
  .cu124-article-left{display:none!important}
  .cu124-article-main{max-width:900px!important;margin-inline:auto!important}
  .cu124-mobile-toc{display:block!important;margin:1.1rem 0 1.6rem}
}
@media(max-width:760px){
  .cu124-article-wrap{width:calc(100% - 30px)!important}
  .cu124-article-main .cu8p-title{font-size:1.9rem}
  .cu124-article-main .cu8p-content{font-size:1rem;line-height:1.9}
  .cu11-site .cu10-ad--article.cu10-ad--kkday .cu10-ad__kkday{height:236px!important;min-height:236px!important;max-height:236px!important}
  .cu11-site .cu10-ad--article.cu10-ad--kkday .cu10-ad__kkday iframe{top:-18px!important;width:133.333%!important;min-width:133.333%!important;height:500px!important;transform:scale(.75)!important}
}


/* ==========================================================
   V12.5 — H2 scroll-dial TOC + wider full-height commerce rail
   - Top-level H2 only; active section stays near TOC viewport center.
   - Right rail is 380px so official partner widgets have breathing room.
   - Sidebar embeds are never clipped/scaled/height-observed.
   ========================================================== */
@media(min-width:1281px){
  .cu11-site .cu107-header__inner,
  .cu11-site .cu107-footer__inner,
  .cu12-home .cu108-shell,
  .cu125-article-wrap{width:min(1480px,calc(100% - 48px))!important;max-width:1480px!important}
  .cu12-home .cu12-home-layout{grid-template-columns:190px minmax(0,870px) 380px!important;gap:20px!important;justify-content:stretch!important}
  .cu125-article-layout{display:grid!important;grid-template-columns:190px minmax(0,870px) 380px!important;gap:20px!important;justify-content:stretch!important;align-items:start!important}
}
.cu125-article-main{max-width:870px!important}
.cu125-article-left{min-width:0!important}
.cu125-toc-card nav{display:grid;max-height:64vh!important;overflow-y:auto!important;overflow-x:hidden!important;padding:18vh 2px 18vh 0;scroll-padding-block:18vh;scrollbar-width:none;overscroll-behavior:contain;mask-image:linear-gradient(to bottom,transparent 0,#000 10%,#000 90%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 10%,#000 90%,transparent 100%)}
.cu125-toc-card nav::-webkit-scrollbar{width:0;height:0}
.cu125-toc-card a{padding:.58rem .3rem .58rem .72rem!important;font-size:.8rem!important;line-height:1.5!important;border-left-width:2px!important;transition:background .14s ease,color .14s ease,border-color .14s ease}
.cu125-toc-card a.is-active{background:#f6f8f7!important;color:#171c19!important;border-left-color:#d96f4d!important;font-weight:800!important}
.cu125-toc-card a[data-level="3"]{display:none!important}
.cu125-article-main .cu8p-content>h2{scroll-margin-top:120px}
body.admin-bar .cu125-article-main .cu8p-content>h2{scroll-margin-top:152px}

/* Commerce rail: independent blocks in normal document flow. The official
   cross-origin iframe decides its own height; no clipping, transforms or
   synthetic max-height are applied anywhere on the sidebar. */
.trace-single-post .cu125-article-right{width:100%!important;min-width:0!important;overflow:visible!important;position:static!important}
.cu125-commerce-slot{width:100%!important;overflow:visible!important;contain:none!important}
.cu125-commerce-slot .kkday-product-media,
.cu125-commerce-slot iframe{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;max-height:none!important;overflow:visible!important;clip:auto!important;transform:none!important;margin:0!important;border:0!important}

@media(max-width:1280px){
  .cu125-article-layout{grid-template-columns:190px minmax(0,1fr)!important;gap:24px!important}
  .cu125-article-right{display:none!important}
}
@media(max-width:980px){
  .cu125-article-layout{display:block!important}
  .cu125-article-left{display:none!important}
  .cu125-article-main{max-width:900px!important;margin-inline:auto!important}
  .cu124-mobile-toc nav a[data-level="3"]{display:none!important}
}
