/* dc-arch */
.dc-arch{padding:32px 32px 32px;border:1px solid var(--line);border-radius:var(--r-panel);background:var(--white)}
.dc-arch__label{font:600 10px/1 var(--mono);letter-spacing:.18em;color:var(--faint);margin-bottom:16px;text-align:center}
.dc-arch__sources span{padding:12px 16px;border:1px solid var(--line-strong);border-radius:var(--r-s);background:var(--bg-card);
  font:500 12px/1 var(--sans);color:var(--body)}
.dc-arch__arrow{display:flex;justify-content:center;padding:16px 0;color:var(--faint)}
.dc-arch__actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.dc-arch__actions div{padding:16px 16px;border:1px solid var(--accent);border-radius:var(--r-sm);background:var(--accent-wash);
  text-align:center;font:700 14px/1.8 var(--sans);color:var(--ink)}
/* dc-layer */
.dc-layer{padding:24px 24px 32px;border-radius:var(--r-card);
  background:linear-gradient(135deg,#4F46E5 0%,var(--accent) 55%,#7C5CF6 100%);
  box-shadow:var(--shadow-accent)}
.dc-layer__title{margin-bottom:16px;text-align:center;font:700 12px/1 var(--mono);letter-spacing:.18em;color:var(--white)}
.dc-layer__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.dc-layer__item{padding:24px 24px 24px;border-radius:var(--r-sm);background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.22)}
.dc-layer__item h3{margin:0 0 12px;font:700 14px/1.8 var(--sans);color:var(--white)}
.dc-layer__item p{margin:0;font:400 12px/1.8 var(--sans);color:rgba(255,255,255,.82)}
/* dc-loop */
.dc-loop{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;counter-reset:none}
/* dc-loop-back */
.dc-loop-back{display:flex;align-items:center;justify-content:center;gap:12px;margin:16px 0 0;
  font:600 12px/1 var(--mono);letter-spacing:.18em;color:rgba(255,255,255,.45)}
/* dc-core */
.dc-core{display:flex;align-items:center;gap:24px;margin-top:32px;padding:32px 32px;border-radius:var(--r-card);
  background:var(--accent)}
.dc-core .tag{flex:none;font:700 12px/1 var(--mono);letter-spacing:.18em;color:var(--accent)}
.dc-core .sep{flex:none;width:1px;height:34px;background:rgba(255,255,255,.32)}
.dc-core p{margin:0;font:700 16px/1.8 var(--sans);color:var(--white);text-wrap:pretty}
@media (max-width:860px){
  .dc-core{flex-direction:column;align-items:flex-start;gap:12px;padding:24px 24px}
}
/* dc-role */
.dc-role{display:flex;flex-direction:column;padding:32px 32px 32px;border:1px solid var(--line);
  border-radius:var(--r-card);background:var(--bg-card)}
.dc-role__value{margin-top:auto;padding-top:16px;border-top:1px solid var(--line-strong)}
.dc-role__value b{display:block;margin-bottom:8px;font:700 10px/1 var(--mono);letter-spacing:.18em;color:var(--muted)}
.dc-role__value p{margin:0;font:600 14px/1.8 var(--sans);color:var(--ink);text-wrap:pretty}
/* dc-qs */
.dc-qs div{padding:12px 16px;border-radius:var(--r-sm);background:var(--white);border:1px solid var(--line-strong);
  font:500 14px/1.8 var(--sans);color:var(--ink)}
/* dc-ui */
.dc-ui{padding:16px 16px 16px;border:1px solid var(--line);border-radius:var(--r-panel);background:var(--bg-tint)}
.dc-ui__win{overflow:hidden;border-radius:var(--r-sm);background:var(--white);border:1px solid var(--line-strong);
  box-shadow:var(--shadow-panel)}
.dc-ui__bar{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line);
  background:var(--bg-card)}
.dc-ui__bar span{margin-left:12px;font:600 12px/1 var(--sans);color:var(--muted)}
.dc-ui__body{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr)}
.dc-ui__q{margin-left:auto;max-width:78%;padding:12px 16px;border-radius:var(--r-card) var(--r-card) var(--r-xs) var(--r-card);
  background:var(--accent);font:500 14px/1.8 var(--sans);color:var(--white);width:fit-content}
.dc-ui__a{margin-top:16px;padding:16px 24px;border-radius:var(--r-card) var(--r-card) var(--r-card) var(--r-xs);background:var(--bg-tint);
  border:1px solid var(--line)}
.dc-ui__a .who{display:flex;align-items:center;gap:8px;margin-bottom:12px;font:700 12px/1 var(--mono);
  letter-spacing:.18em;color:var(--accent)}
.dc-ui__a .who::before{content:"";width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,#009CFC,#A048FB)}
.dc-ui__a p{margin:0;font:400 14px/1.8 var(--sans);color:var(--ink)}
.dc-ui__src span{padding:8px 8px;border-radius:var(--r-s);background:var(--white);border:1px solid var(--line-strong);
  font:500 12px/1.5 var(--sans);color:var(--body)}
.dc-ui__side .ttl{margin-bottom:16px;font:700 10px/1 var(--mono);letter-spacing:.18em;color:var(--faint)}
.dc-ui__kv{display:grid;grid-template-columns:92px minmax(0,1fr);gap:4px 12px;padding:12px 0;
  border-bottom:1px solid var(--line);font:400 12px/1.8 var(--sans);color:var(--body)}
.dc-ui figcaption,.dc-ui > figcaption{margin-top:16px;padding-top:16px;border-top:1px solid var(--line-strong);font:400 12px/1.8 var(--sans);
  color:var(--muted)}
/* dc-next */
.dc-next i{font-style:normal;font:500 12px/1 var(--sans);color:var(--faint)}
/* dc-ent */
/* dc-tools */
.dc-tools b{display:block;margin-bottom:12px;font:700 14px/1.8 var(--sans);
  color:var(--ink)}
.dc-tools span{padding:8px 12px;border:1px solid var(--line-strong);border-radius:var(--r-s);background:var(--bg-card);
  font:500 12px/1 var(--sans);color:var(--body)}
/* dc-sec */
.dc-sec b{display:block;margin-bottom:4px;font:700 14px/1.8 var(--sans);color:var(--accent)}
.dc-sec p{margin:0;font:400 14px/1.8 var(--sans);color:var(--body)}
.dc-step:not(:last-child)::after{
  content:"";position:absolute;top:50%;right:-10px;width:8px;height:8px;z-index:1;
  border-top:1.5px solid rgba(255,255,255,.35);border-right:1.5px solid rgba(255,255,255,.35);transform:translateY(-50%) rotate(45deg)
}
/* ---------- AIKNOW Project — concise 8-section layout ---------- */
.dc-arch__sources{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.dc-arch__arrow svg{width:22px;height:22px}
.dc-loop-back svg{width:16px;height:16px}
.dc-qs{display:grid;gap:8px;margin-bottom:24px}
.dc-ui__bar i{width:9px;height:9px;border-radius:50%;background:var(--line-strong)}
.dc-ui__chat{padding:24px 32px 32px;border-right:1px solid var(--line)}
.dc-ui__a p + p{margin-top:8px}
.dc-ui__src{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.dc-ui__src span::before{content:"↗ ";color:var(--accent)}
.dc-ui__side{padding:24px 24px 24px;background:var(--bg-card)}
.dc-ui__kv:last-child{border-bottom:none}
.dc-ui__kv b{font:700 12px/1.8 var(--sans);color:var(--accent)}
.dc-next{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:24px}
.dc-next span{
  padding:8px 8px;white-space:nowrap;border-radius:var(--r-s);background:var(--white);border:1px solid var(--line-strong);
  font:600 12px/1.5 var(--sans);color:var(--ink)
}
.dc-next span.hl{background:var(--accent);border-color:var(--accent);color:var(--white)}
/* use cases */
.dc-tools{padding:16px 0;border-top:1px solid var(--line)}
.dc-tools div{display:flex;flex-wrap:wrap;gap:8px}
.dc-tools span.etc{border:none;background:none;padding:8px 4px;color:var(--faint)}
.dc-sec{padding:16px 0;border-top:1px solid var(--line)}
/* headings: wrap at phrase boundaries on desktop */
@media (min-width:861px){
.dc-layer__item p{word-break:keep-all}
}
@media (max-width:1024px){
.dc-layer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.dc-loop{grid-template-columns:repeat(2,minmax(0,1fr))}
.dc-step::after{display:none}
.dc-ui__body{grid-template-columns:1fr}
.dc-ui__chat{border-right:none;border-bottom:1px solid var(--line)}
}
@media (max-width:860px){
.dc-arch__actions{grid-template-columns:1fr}
.dc-arch{padding:24px 16px 24px}
.dc-core .sep{display:none}
.dc-ui{padding:12px}
.dc-ui__chat{padding:24px 16px}
.dc-ui__side{padding:16px}
}
@media (max-width:520px){
.dc-layer__grid,.dc-loop{grid-template-columns:1fr}
.dc-ui__q{max-width:92%}
}
