/* 变量与整体区域 */
#tri-page{
  --donut-size: 300px;
  --ring-bg: #f1f5f9;

  --c1:#CECECE; --c2:#CECECE; --c3:#CECECE; --c4:#CECECE;
  --label-color:#000; --label-active:#9747FF;
  --icon-filter: grayscale(1) brightness(.9) contrast(1);
  --icon-filter-active:none;

  --push:24px;
  --page-gutter: clamp(16px,5vw,56px);

  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  padding:80px 0;
  background:#fff;
}

#tri-page h2::after {
  content: none;
}


#tri-page .tri-container{
  width:100%; margin:0;
  padding:0 var(--page-gutter);
}

/* 顶部 tabs */
#tri-page .tri-tabs{
  display:flex; gap:16px; width:max-content; margin:0 auto 14px;
}
#tri-page .tri-tab{
  padding:10px 18px; border-radius:999px; border:2px solid transparent;
  font-weight:700; font-size:15px; color:#555; background:#f8f8f8; cursor:pointer; transition:.2s;
  font-family:var(--ff-serif)
}
#tri-page .tri-tab:hover{ background:#eee; }
#tri-page .tri-tab.is-active[data-key="wetlab"]{background:#38bdf8;border-color:#38bdf8;color:#fff;}
#tri-page .tri-tab.is-active[data-key="model"]{ background:#a78bfa;border-color:#a78bfa;color:#fff;}
#tri-page .tri-tab.is-active[data-key="hp"]{    background:#34d399;border-color:#34d399;color:#fff;}

/* 问题按钮 */
#tri-page .tri-questions{
  display:flex; gap:8px; align-items:center;
  margin:0 auto 10px; width:max-content; max-width:100%;
  overflow-x:auto; padding:2px;
}
#tri-page .tri-questions .q-btn{
  padding:0 12px; height:36px; line-height:34px;
  border-radius:10px; border:1px solid #D1D5DB; background:#fff; color:#374151;
  white-space:nowrap; cursor:pointer; transition:.2s;
  font-family:var(--ff-body);
}
#tri-page .tri-questions .q-btn:hover{ border-color:#9CA3AF; }
#tri-page .tri-questions .q-btn.is-active{
  background:#111827; border-color:#111827; color:#fff; box-shadow:0 1px 0 rgba(0,0,0,.08);
}

/* 网格：左环右文 */
#tri-page .tri-grid{
  display:grid; grid-template-columns:minmax(0,2fr) minmax(0,3fr);
  gap:32px;
  align-items:start;
}
@media (max-width:900px){ #tri-page .tri-grid{ grid-template-columns:1fr; gap:24px; } }

/* 左侧圆环容器 */
#tri-page .ring-card{
  width:100%; aspect-ratio:1/1;
  display:grid; place-items:center; position:relative; overflow:visible;
}
#tri-page .ring-card svg{ width:100%; height:100%; display:block; overflow:visible; }

/* 圆环中心 Iteration 控制 */
#tri-page .iteration-control{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  display:flex; align-items:center; gap:8px;
  font-weight:600; font-size:16px; color:#111;
  background:rgba(255,255,255,.88); padding:4px 10px; border-radius:999px;
  box-shadow:0 2px 8px rgba(0,0,0,.06); z-index:2;
}
#tri-page .iteration-control button{
  background:none; border:none; font-size:20px; cursor:pointer; color:#333; padding:4px 8px; line-height:1;
}
#tri-page .iteration-control button:hover{ color:#000; }

/* 扇形组与图标文字 */
#tri-page svg g.slice{ transition:transform .45s cubic-bezier(.2,.8,.2,1); transform-origin:center; cursor:pointer; }
#tri-page .slice .label{ fill:var(--label-color);font-family:var(--ff-serif); font-weight:700; font-size:14px; user-select:none; paint-order:stroke; stroke:rgba(0,0,0,.12); stroke-width:1px; }
#tri-page .slice.active .label{ fill:var(--label-active); stroke:rgba(0,0,0,.25); }
#tri-page .slice image.icon{ width:32px; height:32px; filter:var(--icon-filter); transition:filter .25s, transform .25s; }
#tri-page .slice.active image.icon{ filter:var(--icon-filter-active); transform:scale(1.05); }

/* 右侧文案区：固定高度 + 内部滚动 */
#tri-page .tri-content{
  /* 你可以根据需要微调下面这个高度区间 */
  height: clamp(360px, 62vh, 640px);
  overflow: auto;
  padding: 0 20px 12px;         /* 去掉顶部 padding，交给 header 自己处理 */
  background: #fff;
  border-radius: 12px;
  /* 防止滚动联动到外层，体验更稳 */
  overscroll-behavior: contain;
}
#tri-page .tri-content::-webkit-scrollbar{ width:6px; }
#tri-page .tri-content::-webkit-scrollbar-thumb{ background:#ccc; border-radius:3px; }
#tri-page .tri-content::-webkit-scrollbar-thumb:hover{ background:#999; }

#tri-page .tri-title{ margin: 0; }
#tri-page .tri-locator{ margin: 6px 0 0; }
#tri-page .tri-text{ color:#444; line-height:1.7; margin:0 0 10px; }
#tri-page .tri-bullets{ padding-left:20px; color:#333; }
#tri-page .tri-bullets li{ list-style:disc; margin:6px 0; }

/* 底部：进度条 + 圆点 */
#tri-page .iter-footer {
  margin-top: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

/* 进度条轨道 */
#tri-page .iter-track {
  position: relative;
  width: 240px;
  height: 4px;
  background: #e7ecf0;
  border-radius: 999px;
  overflow: hidden;
}

/* 进度条本身：绿色过渡到蓝色 */
#tri-page .iter-bar {
  position: absolute;
  inset: 0;
  width: 0%;
  background: linear-gradient(90deg, #4caf50, #2196f3);
  border-radius: 999px;
  transition: width 0.25s ease;
}

/* 圆点容器 */
#tri-page .iter-dots {
  display: flex;
  gap: 12px;
}

/* 默认灰色圆点 */
#tri-page .iter-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #c7cdd3;
  border: none;
  cursor: pointer;
  transition: background 0.25s ease, transform 0.25s ease;
}

/* 当前迭代：蓝色 + 放大 */
#tri-page .iter-dot.is-active {
  background: #2196f3;
  transform: scale(1.3);
}

/* 已完成：绿色 */
#tri-page .iter-dot.is-done {
  background: #4caf50;
}


#tri-page .tri-content-header{
  position: sticky;
  top: 0;
  z-index: 5;
  background: #fff;
  padding: 8px 0 10px;          /* 自己占空间，避免遮住正文 */
  border-bottom: 2px solid #e9e9f3;
}

#tri-page .tri-iteration{ padding-top: 6px; }

/* 仅 #question-title 左对齐，取消两端对齐带来的扩张 */
#tri-page #question-title{
  text-align: left !important;
  text-align-last: auto !important;
  text-justify: auto !important;
}



