/*
 * Final type and colour contract for the formal ACheng pages.
 * One local family (MiSans), one ink scale and one orange accent are used
 * across the public shell and the workbench.
 */
:root{
  --ac-ink:#202124;
  --ac-strong:#34363a;
  --ac-body:#5f6267;
  --ac-muted:#85898f;
  --ac-line:rgba(29,29,31,.12);
  --ac-orange:#d96500;
  --ac-orange-soft:rgba(217,101,0,.11);
}

html,body,button,input,select,textarea{font-family:MiSans,sans-serif!important}

/* Fixed navigation: medium is enough for navigation; reserve bold for the current location. */
.acheng-site-header .acheng-nav-link,
.acheng-wb-global-link{font-weight:600!important;letter-spacing:-.01em}
.acheng-site-header .acheng-nav-link.is-active,
.acheng-wb-global-link.is-active{font-weight:700!important}
.acheng-wb-brand b,.acheng-site-header .logo-text{font-weight:700!important}
.acheng-wb-brand small,.acheng-site-header .logo-subtitle{font-weight:500!important;letter-spacing:.08em!important}

/* Public pages use a small, explicit hierarchy instead of multiple near-black grays. */
.acheng-platform-main h1,.acheng-platform-main h2,.acheng-platform-main h3{font-weight:700!important}
.acheng-platform-main p{font-weight:500!important}
.acheng-platform-main .acheng-section-kicker{color:var(--ac-orange)!important;font-weight:700!important;letter-spacing:.06em!important}
.acheng-platform-main .acheng-public-tool p,.acheng-platform-main .acheng-workbench-copy p{color:rgba(32,33,36,.68)!important;line-height:1.65!important}

/* Workbench page, module and summary hierarchy. */
.acheng-wb-main{color:var(--ac-ink)!important}
.acheng-wb-page-head p,.acheng-wb-module-head p,.acheng-wb-section-head p{color:var(--ac-orange)!important;font-weight:700!important;letter-spacing:.08em!important}
.acheng-wb-page-head h1,.acheng-wb-module-head h1{color:var(--ac-ink)!important;font-weight:700!important;line-height:1.12!important}
.acheng-wb-page-head span,.acheng-wb-module-head span{color:var(--ac-body)!important;font-weight:500!important;line-height:1.72!important}
.acheng-wb-section-head h2{color:var(--ac-strong)!important;font-weight:700!important;letter-spacing:-.035em!important}
.acheng-wb-summary small,.acheng-wb-summary span{color:var(--ac-muted)!important;font-weight:500!important}
.acheng-wb-summary strong{color:var(--ac-ink)!important;font-weight:700!important;letter-spacing:-.04em!important}

/* Overview cards use the same top metadata / thesis / lower action rhythm as topic cards. */
.acheng-wb-tool-grid{gap:20px!important}
.acheng-wb-tool-card{
  position:relative!important;
  isolation:isolate;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto;
  min-height:252px!important;
  padding:22px!important;
  overflow:visible!important;
  border:1px solid rgba(255,255,255,.88)!important;
  border-radius:20px!important;
  background:rgba(255,255,255,.82)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.98),0 16px 34px rgba(38,40,43,.09)!important;
  color:var(--ac-ink)!important;
  text-decoration:none!important;
}
.acheng-wb-tool-card > :not(.acheng-wb-card-glow){position:relative;z-index:1}
.acheng-wb-card-glow{position:absolute!important;z-index:0;inset:-20px;display:block;pointer-events:none;border-radius:inherit;background:radial-gradient(ellipse at 50% 30%,rgba(250,121,0,.28),rgba(250,121,0,0) 72%);filter:blur(15px);opacity:0;transform:scale(.7);will-change:transform,opacity}
.acheng-wb-tool-top{align-items:flex-start!important}
.acheng-wb-tool-index{color:var(--ac-orange)!important;font-size:12px!important;font-weight:700!important;font-variant-numeric:tabular-nums;letter-spacing:.02em}
.acheng-wb-tool-state{min-height:24px;padding:4px 9px!important;border:0!important;border-radius:999px!important;background:var(--ac-orange-soft)!important;color:var(--ac-orange)!important;font-size:10px!important;font-weight:700!important;line-height:16px!important}
.acheng-wb-tool-main{align-self:center;margin-top:14px}
.acheng-wb-tool-main>p{margin:0 0 8px!important;color:var(--ac-orange)!important;font-size:11px!important;font-weight:700!important;letter-spacing:.025em!important}
.acheng-wb-tool-main h3{margin:0!important;color:var(--ac-ink)!important;font-size:26px!important;font-weight:700!important;line-height:1.2!important;letter-spacing:-.055em!important}
.acheng-wb-tool-main>span{display:block;margin-top:10px;color:var(--ac-body)!important;font-size:13px!important;font-weight:500!important;line-height:1.65!important}
.acheng-wb-tool-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:14px;border-top:1px solid var(--ac-line)}
.acheng-wb-tool-foot small{color:var(--ac-muted)!important;font-size:10px!important;font-weight:600!important}
.acheng-wb-tool-foot strong{position:relative;display:inline-flex;align-items:center;gap:5px;min-height:36px;padding:0 12px;border-radius:10px;background:var(--ac-orange);box-shadow:inset 0 1px rgba(255,255,255,.25),0 7px 14px rgba(217,101,0,.18);color:#fff!important;font-size:11px!important;font-weight:700!important;line-height:36px!important;white-space:nowrap;will-change:transform}
.acheng-wb-tool-foot i{display:inline-block;color:#fff;font-size:14px;font-style:normal;will-change:transform}
.acheng-wb-tool-line{position:absolute;right:11px;bottom:-6px;left:11px;height:2px;border-radius:99px;background:var(--ac-orange);transform:scaleX(0);will-change:transform}
.acheng-wb-tool-card.is-planned{border-color:rgba(35,37,40,.06)!important;background:rgba(231,232,233,.78)!important;box-shadow:none!important;color:#7b7e83!important}
.acheng-wb-tool-card.is-planned .acheng-wb-tool-index,.acheng-wb-tool-card.is-planned .acheng-wb-tool-main>p{color:#8b8e92!important}
.acheng-wb-tool-card.is-planned .acheng-wb-tool-state{background:rgba(128,132,137,.12)!important;color:#83868a!important}
.acheng-wb-tool-card.is-planned .acheng-wb-tool-main h3{color:#777a7e!important}
.acheng-wb-tool-card.is-planned .acheng-wb-tool-main>span,.acheng-wb-tool-card.is-planned .acheng-wb-tool-foot small{color:#96999d!important}
.acheng-wb-tool-card.is-planned .acheng-wb-tool-foot strong{background:transparent;box-shadow:none;color:#85888c!important}

/* Topic cards: give MiSans glyphs room and make roles unmistakable. */
.acheng-vt-head h1,.acheng-vtd-head h1{color:var(--ac-ink)!important;font-weight:700!important;line-height:1.16!important;letter-spacing:-.055em!important}
.acheng-vt-intro,.acheng-vtd-head>div>p{color:var(--ac-body)!important;font-weight:500!important;line-height:1.72!important}
.acheng-vt-card{padding:22px!important;border-radius:20px!important}
.acheng-vt-card{grid-template-rows:24px minmax(min-content,1fr) 74px 50px!important}
.acheng-vt-source,.acheng-vt-card-status time{color:var(--ac-muted)!important;font-weight:600!important;line-height:1.45!important}
.acheng-vt-card-score small,.acheng-vt-card .acheng-vt-kind{font-weight:700!important}
.acheng-vt-card .acheng-vt-category{color:var(--ac-orange)!important;font-weight:700!important;letter-spacing:.025em!important}
.acheng-vt-card h2{display:block!important;max-height:none!important;overflow:visible!important;padding-block:3px 5px!important;color:var(--ac-ink)!important;font-weight:700!important;line-height:1.25!important;letter-spacing:-.055em!important;-webkit-box-orient:initial!important;-webkit-line-clamp:unset!important}
.acheng-vt-card-ratio span,.acheng-vt-card .acheng-topic-metric span{color:var(--ac-muted)!important;font-weight:600!important}
.acheng-vt-card-ratio{
  min-height:66px!important;
  padding:9px 0 10px!important;
  box-sizing:border-box!important;
  align-items:center!important;
}
.acheng-vt-card-ratio b{
  display:block!important;
  padding:3px 0 5px!important;
  overflow:visible!important;
  font-weight:700!important;
  line-height:1.08!important;
}
.acheng-vt-card .acheng-topic-metric b{font-weight:700!important;line-height:1.18!important;padding-bottom:2px!important}
.acheng-vt-card-ai{min-height:74px!important;padding:11px 12px!important;border-radius:12px!important;background:rgba(29,29,31,.035)!important}
.acheng-vt-card-ai b{color:var(--ac-strong)!important;font-weight:700!important}
.acheng-vt-card-ai p{max-height:none!important;color:var(--ac-body)!important;font-weight:500!important;line-height:1.58!important}
.acheng-vt-card-foot{min-height:50px!important;padding-top:11px!important;align-items:center!important}
.acheng-vt-card-foot>span{color:var(--ac-muted)!important;font-weight:600!important;line-height:1.35!important}
.acheng-vt-card-foot strong{font-weight:700!important;white-space:nowrap}
.acheng-vtd-content h2,.acheng-vtd-analysis b,.acheng-vtd-rewrites p{color:var(--ac-strong)!important;font-weight:700!important}
.acheng-vtd-content p,.acheng-vtd-analysis p,.acheng-vtd-steps p{color:var(--ac-body)!important;font-weight:500!important}
.acheng-vtd-label,.acheng-vtd-side>div>p{color:var(--ac-orange)!important;font-weight:700!important;letter-spacing:.08em!important}

@media (max-width:820px){
  .acheng-wb-tool-grid{gap:14px!important}
  .acheng-wb-tool-card{min-height:224px!important;padding:20px!important;border-radius:18px!important}
  .acheng-wb-tool-main h3{font-size:24px!important}
  .acheng-vt-card{padding:20px!important}
  .acheng-vt-card{grid-template-rows:24px minmax(min-content,1fr) 74px 50px!important}
  .acheng-vt-card h2{font-size:22px!important;line-height:1.28!important}
}
@media (max-width:620px){
  .acheng-wb-page-head h1,.acheng-wb-module-head h1{font-size:36px!important;line-height:1.14!important}
  .acheng-wb-tool-card{min-height:232px!important}
  .acheng-wb-tool-main h3{font-size:25px!important}
  .acheng-vt-card{padding:20px!important}
  .acheng-vt-card{grid-template-rows:24px minmax(min-content,1fr) 76px 50px!important}
  .acheng-vt-card h2{font-size:25px!important;line-height:1.25!important}
  .acheng-vt-card-ratio b{font-size:36px!important}
  .acheng-vt-card .acheng-topic-metric b{font-size:23px!important}
  .acheng-vt-card-ai{min-height:76px!important}
}
@media (prefers-reduced-motion:reduce){
  .acheng-wb-card-glow,.acheng-wb-tool-line{display:none!important}
}
