/* QilyLean Sitewide Visual Regression Closure V3｜2026-08-28
 * Last stylesheet in the public baseline. It closes screenshot-confirmed cascade regressions without
 * flattening intentional page hierarchy: light chips stay dark-on-light, legacy content-level dark
 * classes normalize to the standard light surface, explicit semantic dark surfaces stay dark,
 * career year ranges receive sufficient width, and authored dark-gradient content keeps readable text.
 */
:root{
  --qily-fix-forest:#0f4b5a;
  --qily-fix-ink:#17322d;
  --qily-fix-muted:#607574;
  --qily-fix-plum:#9e4a34;
  --qily-fix-gold:#caa15f;
  --qily-fix-gold-soft:#ffe39b;
  --qily-fix-dark:#102a2f;
  --qily-fix-alt:#f4faf8;
  --qily-fix-light:#fff;
  --qily-fix-line:#bfd7d4;
}

/* A｜Hero/subnav pills: a white/light capsule must never inherit white text from its dark ancestor. */
html body :is(
  .hero,.module-hero,.daily-hero,.document-hero,.project-hero,.projects-hero,
  .cooperation-hero,.capability-hero,.capabilities-hero,.experience-hero,
  .improvement-hero,.improvements-hero,.knowledge-hero,.trust-hero,.article-hero,.article-hub
) :is(.module-subnav,.subnav,.anchor-nav,.tab-nav,.filter-nav,.index-nav) a[href],
html body :is(
  .hero,.module-hero,.daily-hero,.document-hero,.project-hero,.projects-hero,
  .cooperation-hero,.capability-hero,.capabilities-hero,.experience-hero,
  .improvement-hero,.improvements-hero,.knowledge-hero,.trust-hero,.article-hero,.article-hub
) :is(.tag,.pill,.chip,.badge,.keyword-cloud a){
  color:var(--qily-fix-forest)!important;
  -webkit-text-fill-color:var(--qily-fix-forest)!important;
  background:#fff!important;
  border-color:var(--qily-fix-line)!important;
  opacity:1!important;
  filter:none!important;
  mix-blend-mode:normal!important;
  text-shadow:none!important;
  text-decoration-color:var(--qily-fix-forest)!important;
}
html body :is(
  .hero,.module-hero,.daily-hero,.document-hero,.project-hero,.projects-hero,
  .cooperation-hero,.capability-hero,.capabilities-hero,.experience-hero,
  .improvement-hero,.improvements-hero,.knowledge-hero,.trust-hero,.article-hero,.article-hub
) :is(.module-subnav,.subnav,.anchor-nav,.tab-nav,.filter-nav,.index-nav) a[href]:is([aria-current="page"],[aria-selected="true"],.active,.current,.is-active),
html body :is(
  .hero,.module-hero,.daily-hero,.document-hero,.project-hero,.projects-hero,
  .cooperation-hero,.capability-hero,.capabilities-hero,.experience-hero,
  .improvement-hero,.improvements-hero,.knowledge-hero,.trust-hero,.article-hero,.article-hub
) :is(.tag,.pill,.chip,.badge,.keyword-cloud a):is([aria-current="page"],[aria-selected="true"],.active,.current,.is-active){
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  background:var(--qily-fix-forest)!important;
  border-color:var(--qily-fix-gold)!important;
  text-decoration-color:var(--qily-fix-gold-soft)!important;
}
@media(hover:hover) and (pointer:fine){
  html body :is(
    .hero,.module-hero,.daily-hero,.document-hero,.project-hero,.projects-hero,
    .cooperation-hero,.capability-hero,.capabilities-hero,.experience-hero,
    .improvement-hero,.improvements-hero,.knowledge-hero,.trust-hero,.article-hero,.article-hub
  ) :is(.module-subnav,.subnav,.anchor-nav,.tab-nav,.filter-nav,.index-nav) a[href]:not([aria-current]):is(:hover,:focus-visible){
    color:var(--qily-fix-ink)!important;
    -webkit-text-fill-color:var(--qily-fix-ink)!important;
    background:var(--qily-fix-gold-soft)!important;
    border-color:var(--qily-fix-gold)!important;
  }
}

/* B1｜Content-level dark classes are legacy visual outliers: normalize to the site light/alt surface. */
html body main :is(.section.dark,.module-section.dark,.qily-section.dark,.qily-dark,.dark-bg){
  color:var(--qily-fix-ink)!important;
  background:var(--qily-fix-alt)!important;
  background-color:var(--qily-fix-alt)!important;
}
html body main :is(.section.dark,.module-section.dark,.qily-section.dark,.qily-dark,.dark-bg)
:is(h1,h2,h3,h4,h5,h6,strong,b){
  color:var(--qily-fix-forest)!important;
  -webkit-text-fill-color:var(--qily-fix-forest)!important;
  opacity:1!important;
  filter:none!important;
  mix-blend-mode:normal!important;
  text-shadow:none!important;
}
html body main :is(.section.dark,.module-section.dark,.qily-section.dark,.qily-dark,.dark-bg)
:is(p,li,span,em,dt,dd){
  color:var(--qily-fix-ink)!important;
  -webkit-text-fill-color:var(--qily-fix-ink)!important;
  opacity:1!important;
  filter:none!important;
  mix-blend-mode:normal!important;
  text-shadow:none!important;
}
html body main :is(.section.dark,.module-section.dark,.qily-section.dark,.qily-dark,.dark-bg)
:is(.eyebrow,.module-eyebrow,.kicker,.section-kicker,.qily-ia-kicker,.meta,.fine){
  color:var(--qily-fix-plum)!important;
  -webkit-text-fill-color:var(--qily-fix-plum)!important;
}
html body main :is(.section.dark,.module-section.dark,.qily-section.dark,.qily-dark,.dark-bg) .principle{
  color:var(--qily-fix-ink)!important;
  background:#fff!important;
  border-left-color:var(--qily-fix-gold)!important;
  box-shadow:0 10px 28px rgba(15,75,90,.10)!important;
}
html body main :is(.section.dark,.module-section.dark,.qily-section.dark,.qily-dark,.dark-bg) .principle strong{
  color:var(--qily-fix-forest)!important;
  -webkit-text-fill-color:var(--qily-fix-forest)!important;
}
html body main :is(.section.dark,.module-section.dark,.qily-section.dark,.qily-dark,.dark-bg) .principle span{
  color:var(--qily-fix-muted)!important;
  -webkit-text-fill-color:var(--qily-fix-muted)!important;
}

/* B2｜Only explicit semantic dark surfaces remain dark. */
html body main :is(.qily-dark-band,[data-qily-dark-band="true"],[data-qily-dark-surface="true"],[data-theme="dark"]){
  color:#fff!important;
  background-color:var(--qily-fix-dark)!important;
}
html body main :is(.qily-dark-band,[data-qily-dark-band="true"],[data-qily-dark-surface="true"],[data-theme="dark"])
:is(h1,h2,h3,h4,h5,h6,p,li,span,strong,b,em,small,dt,dd){
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  opacity:1!important;
  filter:none!important;
  mix-blend-mode:normal!important;
  text-shadow:none!important;
}
html body main :is(.qily-dark-band,[data-qily-dark-band="true"],[data-qily-dark-surface="true"],[data-theme="dark"])
:is(.eyebrow,.module-eyebrow,.kicker,.section-kicker,.qily-ia-kicker,.meta,.fine){
  color:var(--qily-fix-gold-soft)!important;
  -webkit-text-fill-color:var(--qily-fix-gold-soft)!important;
}

/* C｜An explicit local light surface always wins inside a dark parent. */
html body [data-qily-light-surface="true"],
html body [data-qily-light-surface="true"] :is(h1,h2,h3,h4,h5,h6,p,li,span,strong,b,em,small,dt,dd){
  color:var(--qily-fix-ink)!important;
  -webkit-text-fill-color:var(--qily-fix-ink)!important;
}
html body [data-qily-light-surface="true"] :is(h1,h2,h3,h4,h5,h6,strong,b){
  color:var(--qily-fix-forest)!important;
  -webkit-text-fill-color:var(--qily-fix-forest)!important;
}

/* D｜Career history: desktop year ranges remain one compact readable unit, with wider first column. */
html body .career-table .career-year-col,
html body .career-table th:first-child,
html body .career-table td:first-child{
  width:150px!important;
  min-width:150px!important;
  max-width:150px!important;
  overflow-wrap:normal!important;
  word-break:keep-all!important;
}
html body .career-table .career-year-link,
html body .career-table .career-range-link,
html body .career-table .career-year-range-line{
  white-space:nowrap!important;
  overflow-wrap:normal!important;
  word-break:keep-all!important;
}
html body .career-table .career-year-range-break{display:inline!important}
@media(max-width:760px){
  html body .career-table .career-year-col,
  html body .career-table th:first-child,
  html body .career-table td:first-child{
    width:124px!important;
    min-width:124px!important;
    max-width:124px!important;
  }
  html body .career-table .career-range-link{white-space:normal!important}
  html body .career-table .career-year-range-break{display:block!important}
}
@media(max-width:420px){
  html body .career-table .career-year-col,
  html body .career-table th:first-child,
  html body .career-table td:first-child{
    width:118px!important;
    min-width:118px!important;
    max-width:118px!important;
  }
}

/* E｜Sitewide light-pill ownership: light/tinted tag rows must use dark readable copy.
 * This intentionally does not target standalone semantic dark badges such as .w8 .tag.
 */
html body main :is(.tags,.tag-row,.chips,.chip-row,.pill-row,.badge-row) > :is(.tag,.chip,.pill,.badge):not([aria-current="page"]):not([aria-selected="true"]):not(.active):not(.current):not(.is-active){
  color:var(--qily-fix-forest)!important;
  -webkit-text-fill-color:var(--qily-fix-forest)!important;
  background:var(--qily-fix-alt)!important;
  border-color:var(--qily-fix-line)!important;
  opacity:1!important;
  filter:none!important;
  mix-blend-mode:normal!important;
  text-shadow:none!important;
}
html body main :is(.tags,.tag-row,.chips,.chip-row,.pill-row,.badge-row) > :is(.tag,.chip,.pill,.badge):is([aria-current="page"],[aria-selected="true"],.active,.current,.is-active){
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  background:var(--qily-fix-forest)!important;
  border-color:var(--qily-fix-gold)!important;
}
@media(hover:hover) and (pointer:fine){
  html body main :is(.tags,.tag-row,.chips,.chip-row,.pill-row,.badge-row) > :is(.tag,.chip,.pill,.badge):not([aria-current="page"]):not([aria-selected="true"]):not(.active):not(.current):not(.is-active):is(:hover,:focus-visible){
    color:var(--qily-fix-ink)!important;
    -webkit-text-fill-color:var(--qily-fix-ink)!important;
    background:var(--qily-fix-gold-soft)!important;
    border-color:var(--qily-fix-gold)!important;
  }
}

/* F｜Authored dark gradients: preserve their own foreground hierarchy instead of accepting a false light-surface correction. */
html body.daily-single-page main article.post :is(.visual-hero,.closing-view){
  color:#fff!important;
}
html body.daily-single-page main article.post :is(.visual-hero,.closing-view) :is(h1,h2,h3,h4,strong,b){
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  opacity:1!important;
  text-shadow:none!important;
}
html body.daily-single-page main article.post .closing-view p{
  color:#e8f6f8!important;
  -webkit-text-fill-color:#e8f6f8!important;
  opacity:1!important;
}
html body.daily-single-page main article.post .closing-view em{
  color:#ffd06d!important;
  -webkit-text-fill-color:#ffd06d!important;
  opacity:1!important;
  filter:none!important;
  mix-blend-mode:normal!important;
  text-shadow:none!important;
}

/* G｜Print/PDF is a document surface, not an interactive web surface. */
@media print{
  html body #floatDock,
  html body #floatDock.qily-float-dock,
  html body .qily-floating-dock,
  html body .qily-float-dock,
  html body [data-qily-floating-dock]{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
  }
}
