@import url("/assets/tokens.css");
/* 用 @import 而不是要求调用方页面自己额外 <link tokens.css>:2026-08-23 事故复盘,
   ai-skills-nav.html/skill/*.html 复用本文件但没跟着补 <link tokens.css>,导致基础
   token 缺失丢色——本文件自己 @import 一次,任何加载 ai-nav.css 的页面就都自动拿到
   基础 token,不用逐个页面手动补链接,也不用管调用方是不是自己知道要补这一步。
   下面是本页独有的覆盖:--c-bg-soft 走 #f3f4f6 一组、--header-bg 用 .88 透明度、
   font-sans 带 Microsoft YaHei 兜底、dark 模式 --c-text-2/3 用了更高对比度取值——
   跟共享基础值都有实测差异,保留为局部覆盖,不强行合并。 */
:root{
  --c-bg-soft:#f3f4f6;
  --header-bg:rgba(255,255,255,.88);
  --font-sans:"Inter","PingFang SC","Microsoft YaHei",ui-sans-serif,system-ui,sans-serif;
  --radius:8px;
  --radius-lg:14px;
  --shadow-brand:0 8px 30px rgba(52,81,178,.12);
}

[data-theme="dark"]{
  --c-text-2:rgba(235,235,245,.68);
  --c-text-3:rgba(235,235,245,.58);
  --header-bg:rgba(22,22,24,.88);
}

html{
  color-scheme:light;
  scroll-behavior:smooth;
  -webkit-font-smoothing:antialiased;
}

[data-theme="dark"]{color-scheme:dark}
*,*::before,*::after{box-sizing:border-box}
body{
  margin:0;
  background:var(--c-bg);
  color:var(--c-text-1);
  font-family:var(--font-sans);
  font-size:15px;
  line-height:1.65;
}

a{color:inherit;text-decoration:none}
button,input{font:inherit}
[hidden]{display:none!important}

.site-header{
  position:sticky;
  top:0;
  z-index:30;
  background:var(--header-bg);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--c-border);
}

.header-inner{
  max-width:1200px;
  margin:0 auto;
  padding:.75rem 1.5rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
}

.brand{
  display:flex;
  align-items:center;
  gap:.55rem;
  font-weight:800;
  font-size:.98rem;
}

.brand-logo{
  width:26px;
  height:26px;
  display:grid;
  place-items:center;
  border-radius:7px;
  background:var(--c-brand);
  color:#fff;
  font-size:.8rem;
  font-weight:900;
}

.nav-inline{
  display:flex;
  gap:1.6rem;
  color:var(--c-text-2);
  font-size:.88rem;
  font-weight:500;
}

.nav-inline a{transition:color .15s}
.nav-inline a:hover,.nav-inline a.active{color:var(--c-brand);font-weight:600}
.header-tools{display:flex;align-items:center;gap:.5rem}
.header-day{color:var(--c-text-3);font-family:var(--font-mono);font-size:.72rem}

.theme-toggle{width:44px;height:44px;
  background:transparent;
  border:1px solid var(--c-border);
  border-radius:8px;
  padding:0;
  color:var(--c-text-2);
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.theme-toggle:hover,.menu-toggle:hover{
  border-color:var(--c-brand);
  color:var(--c-brand);
  background:var(--c-brand-soft);
}

.theme-toggle .icon-light,.theme-toggle .icon-dark{display:none}
[data-theme="dark"] .theme-toggle .icon-light{display:inline}
html:not([data-theme="dark"]) .theme-toggle .icon-dark{display:inline}
.menu-toggle{
  display:none;
  width:44px;
  height:44px;
  padding:0;
  border:1px solid var(--c-border);
  border-radius:8px;
  background:transparent;
  color:var(--c-text-1);
  cursor:pointer;
  align-items:center;
  justify-content:center;
}

.mobile-nav{
  display:none;
  max-width:1200px;
  margin:0 auto;
  padding:.55rem 1.25rem 1rem;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.4rem;
  border-top:1px solid var(--c-divider);
}

.mobile-nav[hidden]{display:none}
.mobile-nav a{
  min-height:44px;
  display:flex;
  align-items:center;
  padding:.65rem .8rem;
  border-radius:8px;
  color:var(--c-text-2);
  font-size:.9rem;
  font-weight:600;
}

.mobile-nav a:hover,.mobile-nav a.active{
  background:var(--c-brand-soft);
  color:var(--c-brand);
}

.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}
.hero-page{
  padding:3.5rem 1.5rem 2.5rem;
  background:linear-gradient(180deg,var(--c-brand-soft) 0%,var(--c-bg) 90%);
}

.hero-page .container{padding:0}
.hero-eyebrow{
  display:inline-flex;
  align-items:center;
  margin-bottom:1rem;
  padding:.35rem .95rem;
  border:1px solid var(--c-brand-line);
  border-radius:99px;
  background:var(--c-bg);
  color:var(--c-brand);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.hero-h1{
  max-width:800px;
  margin:0 0 .9rem;
  font-size:clamp(1.8rem,3.6vw,2.6rem);
  font-weight:900;
  letter-spacing:-.02em;
  line-height:1.15;
}

.hero-sub{
  max-width:760px;
  margin:0 0 1.5rem;
  color:var(--c-text-2);
  font-size:1rem;
  line-height:1.7;
}

.hero-stats{
  display:flex;
  flex-wrap:wrap;
  gap:1.75rem;
  color:var(--c-text-3);
  font-size:.85rem;
}

.hero-stats strong{color:var(--c-text-1)}
.tool-search{
  display:grid;
  gap:.35rem;
  max-width:640px;
  margin:1.5rem 0 .25rem;
}

.tool-search label{
  color:var(--c-text-2);
  font-size:.82rem;
  font-weight:700;
}

.tool-search input{
  min-height:48px;
  width:100%;
  padding:.7rem 1rem;
  border:1px solid var(--c-border);
  border-radius:10px;
  background:var(--c-bg);
  color:var(--c-text-1);
}

.tool-search input:focus-visible,.filter-tab:focus-visible,.btn:focus-visible,
.theme-toggle:focus-visible,.menu-toggle:focus-visible,a:focus-visible{
  outline:3px solid var(--c-brand-line);
  outline-offset:2px;
}

.filter-tabs{
  position:sticky;
  top:69px;
  z-index:20;
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  margin:0 -1.5rem;
  padding:.85rem 1.5rem;
  border-bottom:1px solid var(--c-divider);
  background:var(--header-bg);
  backdrop-filter:blur(10px);
}

.filter-tab{
  min-height:44px;
  padding:.4rem 1rem;
  border:1px solid var(--c-border);
  border-radius:99px;
  background:var(--c-bg);
  color:var(--c-text-2);
  cursor:pointer;
  font-size:.85rem;
  font-weight:500;
  transition:all .15s;
}

.filter-tab:hover{border-color:var(--c-brand);color:var(--c-brand)}
.filter-tab.active{border-color:var(--c-brand);background:var(--c-brand);color:#fff;font-weight:600}
.result-status{margin:.75rem 0 0;color:var(--c-text-3);font-size:.82rem}
.cat-block{padding:2rem 0;border-top:1px solid var(--c-divider);scroll-margin-top:145px}
.cat-block:first-of-type{border-top:none}
.cat-title{
  display:flex;
  align-items:center;
  gap:.5rem;
  margin:0 0 1rem;
  font-size:1.35rem;
  font-weight:800;
}

.cat-count{
  padding:.15rem .55rem;
  border:1px solid var(--c-brand-line);
  border-radius:99px;
  background:var(--c-brand-soft);
  color:var(--c-brand);
  font-size:.72rem;
  font-weight:700;
}

.grid-3{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:1rem;
}

.card{
  display:block;
  padding:1rem 1.15rem;
  border:1px solid var(--c-border);
  border-radius:var(--radius-lg);
  background:var(--c-bg);
  color:inherit;
  transition:all .15s;
}

.card:hover{
  transform:translateY(-2px);
  border-color:var(--c-brand);
  box-shadow:var(--shadow-brand);
}

.tool-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.5rem;
  margin-bottom:.3rem;
}

.tool-head h3{margin:0;font-size:1rem;font-weight:800}
.tool-badge{
  flex-shrink:0;
  display:inline-block;
  padding:.12rem .5rem;
  border:1px solid var(--c-border);
  border-radius:99px;
  background:var(--c-bg-alt);
  color:var(--c-text-3);
  font-family:var(--font-mono);
  font-size:.68rem;
  font-weight:600;
}

.card p{margin:0;color:var(--c-text-3);font-size:.82rem;line-height:1.55}
.empty-state{
  margin:2rem 0 4rem;
  padding:2.5rem;
  border:1px dashed var(--c-border);
  border-radius:var(--radius-lg);
  text-align:center;
}

.empty-state h2{margin:0 0 .4rem}
.empty-state p{margin:0 0 1rem;color:var(--c-text-2)}
.btn{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.65rem 1.2rem;
  border:1px solid transparent;
  border-radius:10px;
  cursor:pointer;
  font-weight:650;
}

.btn-primary{background:var(--c-brand);color:#fff}
.btn-primary:hover{background:var(--c-brand-hover)}
.btn-outline{border-color:var(--c-border);background:var(--c-bg);color:var(--c-text-1)}
.btn-outline:hover{border-color:var(--c-brand);color:var(--c-brand)}

.detail-page{
  max-width:860px;
  min-height:calc(100vh - 240px);
  margin:0 auto;
  padding:2rem 1.5rem 4rem;
}

.breadcrumb{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
  margin-bottom:1.5rem;
  color:var(--c-text-3);
  font-size:.84rem;
}

.breadcrumb a{color:var(--c-brand)}
.detail-hero{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:2rem;
  padding:2rem;
  border:1px solid var(--c-brand-line);
  border-radius:var(--radius-lg);
  background:linear-gradient(135deg,var(--c-bg) 0%,var(--c-brand-soft) 100%);
}

.detail-hero h1{
  margin:.65rem 0 .5rem;
  font-size:clamp(2rem,5vw,3rem);
  line-height:1.1;
}

.detail-hero p{max-width:620px;margin:0;color:var(--c-text-2);font-size:1rem}
.detail-section{margin-top:2rem}
.detail-section h2{margin:0 0 .8rem;font-size:1.25rem}
.capability-panel{
  padding:1.5rem 1.75rem;
  border:1px solid var(--c-border);
  border-radius:var(--radius-lg);
  background:var(--c-bg-alt);
}

.capability-panel ul{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.65rem 1.5rem;
  margin:0;
  padding-left:1.2rem;
}

.capability-panel li::marker{color:var(--c-brand)}
.official-url{
  overflow-wrap:anywhere;
  margin:1rem 0;
  color:var(--c-text-3);
  font-size:.82rem;
}

.official-url a,.back-link{color:var(--c-brand)}
.related-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.75rem;
}

.related-card{
  display:grid;
  gap:.2rem;
  padding:1rem;
  border:1px solid var(--c-border);
  border-radius:var(--radius);
}

.related-card:hover{border-color:var(--c-brand);background:var(--c-brand-soft)}
.related-card span{color:var(--c-text-2);font-size:.82rem}
.back-link{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  margin-top:2rem;
  font-weight:650;
}

footer{
  padding:2.5rem 1.5rem;
  border-top:1px solid var(--c-border);
  color:var(--c-text-3);
  font-size:.85rem;
  text-align:center;
}

.foot-nav{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:1.5rem;
  margin-bottom:.75rem;
}

.foot-nav a{color:var(--c-text-2)}
.foot-nav a:hover{color:var(--c-brand)}

@media (max-width:720px){
  .nav-inline{gap:1rem;font-size:.8rem}
  .header-day{display:none}
  .detail-hero{align-items:flex-start;flex-direction:column}
}

@media (max-width:520px){
  .nav-inline{display:none}
  .menu-toggle{display:inline-flex}
  .mobile-nav:not([hidden]){display:grid}
  .hero-page{padding:2.5rem 1.25rem 2rem}
  .hero-h1{font-size:1.8rem}
  .hero-stats{gap:.75rem 1.25rem}
  .grid-3,.related-grid,.capability-panel ul{grid-template-columns:1fr}
  .filter-tabs{top:69px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;-webkit-mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 32px),transparent 100%);mask-image:linear-gradient(to right,#000 0,#000 calc(100% - 32px),transparent 100%)}
  .filter-tab{white-space:nowrap}
  .detail-page{padding:1.25rem 1rem 3rem}
  .detail-hero{padding:1.4rem}
}
