/* ===== Description page (clean) ===== */

.description-page {
  background:#f8d683;
  padding:20px;
  border-radius:20px;
}
.description-page .row.mt-4 { row-gap:18px; }

/* Title bar */
.description-page .page-titlebar.sketch{
  background:var(--panel-gray,#dfe6ea);
  border:3px solid var(--stroke-brown,#b06a3e);
  border-radius:16px;
  padding:20px 28px;
  text-align:center;
}
.description-page .page-titlebar.sketch h1{
  font-size:clamp(40px,5vw,64px);
  font-weight:700;
  letter-spacing:.02em;
  color:var(--title-brown,#9a5632);
  line-height:1.05;
}

/* Left nav */
.description-page .sketch-nav{
  position:sticky; top:250px;
  background:var(--panel-gray,#dfe6ea);
  border:3px solid var(--stroke-brown,#b06a3e);
  border-radius:16px; padding:16px; z-index:2;
}

@media (max-width:991.98px){ .description-page .sketch-nav{ position:static; top:auto; } }
.description-page .sketch-nav .list-group-item{
  background:transparent; border:none; border-radius:10px;
  padding:20px 8px 20px; color:#5b3a2a; font-weight:700; letter-spacing:.02em;
}
.description-page .sketch-nav .list-group-item.active,
.description-page .sketch-nav .list-group-item:hover,
.description-page .sketch-nav .list-group-item:focus{
  background:rgba(240,182,118,.35); color:var(--stroke-brown-dark,#8f4f29);
}

/* Board */
.description-page .sketch-board{
  background:var(--panel-gray,#dfe6ea);
  border:3px solid var(--stroke-brown,#b06a3e);
  border-radius:36px; padding:28px; min-height:420px; position:relative;
}
.description-page .sketch-board::after{
  content:""; position:absolute; inset:-18px -14px; z-index:-1;
  background:var(--bg-light-yellow,#ffeab5); border-radius:40px;
}
.description-page .sketch-board h2{
  color:#714b33; font-size:clamp(20px,2.1vw,28px); margin:30px 0 30px;
}
.description-page .sketch-board h3{
  color:#714b33; font-size:clamp(20px,2.1vw,25px); margin:20px 0 20px;
}

.description-page .sketch-board h4{
  color:#714b33; font-size:clamp(20px,2.1vw,20px); margin:20px 0 30px;
}
.description-page .sketch-board p{
  color:#3e3a35; line-height:1.75; font-size:16.5px; text-align:justify;margin:10px 0 10px;
}

/* Anchor offset for headings */
@media (min-width:992px){
  :root{ --sticky-gap:16px; }
  .description-page .sketch-board h2[id]{ scroll-margin-top:calc(var(--fixed-menu-h,115px) + var(--sticky-gap) + 20px); }
}

/* Figures */
.description-page figure{ margin:12px 0 18px; }
.description-page figure img{
  display:block; width:100%; height:auto;
  border-radius:12px; border:2px solid var(--stroke-brown,#b06a3e);
}
.description-page figcaption{
  text-align:center; color:#6b4e3a; font-size:14.5px; line-height:1.6; margin-top:8px; font-style:italic;
}

.description-page caption{
  text-align:center; color:#6b4e3a; font-size:14.5px; line-height:1.6; margin-top:8px; font-style:italic;
}

/* Two-image figure layout (Fig.1 / Fig.6) */
.description-page figure .row.g-3{ display:flex; flex-wrap:wrap; gap:12px; }
.description-page figure .row.g-3 > div{ flex:1 1 100%; }
@media (min-width:992px){
  .description-page figure .row.g-3 > div{ flex:1 1 calc(50% - 6px); }
}
@media (max-width:991.98px){ .description-page .sketch-board{ padding:24px; } }

/* Tables */
.description-page .table{
  font-size:14.5px; margin:10px 0 18px; background:transparent;
  border-color:var(--stroke-brown,#b06a3e);
}
@media (max-width:575.98px){ .description-page .table{ font-size:14px; } }
.description-page .table thead th{
  background:rgba(240,182,118,.35) !important;
  color:#5b3a2a; font-weight:700; border-color:var(--stroke-brown,#b06a3e) !important;
}
.description-page .table-bordered{ border:2px solid var(--stroke-brown,#b06a3e); }
.description-page .table-bordered > :not(caption) > *{ border-color:rgba(176,106,62,.55); }
.description-page .table td, .description-page .table th{
  vertical-align:top; border-color:rgba(176,106,62,.55) !important;
}
/* Zebra striping (cell-level to override themes) */
.description-page .table tbody tr:nth-of-type(odd)  > *{ background-color:rgba(255,255,255,.35) !important; }
.description-page .table tbody tr:nth-of-type(even) > *{ background-color:rgba(223,230,234,.45) !important; }
.description-page .table.table-hover tbody tr:hover > *{ filter:brightness(.98); }

/* ===== Reference (stable two-column: number + text) ===== */
ul.ref-list{ list-style:none; margin:0; padding:0; }
ul.ref-list > li{
  display:grid; grid-template-columns:44px 1fr; column-gap:8px; align-items:flex-start;
  margin:0 0 14px; color:#3e3a35; font-size:16.5px; line-height:1.75; text-align:justify; text-justify:inter-word;
}
ul.ref-list > li .ref-num{ justify-self:end; color:#3e3a35; }
ul.ref-list > li .ref-text{
  min-width:0; word-break:normal; overflow-wrap:break-word;
}
ul.ref-list .ref-text em{ font-style:italic; }
ul.ref-list .ref-text a{
  color:#0b3dff; text-decoration:underline; text-underline-offset:2px;
}

.custom-bullet {
  list-style-type: disc;         /* 使用实心圆点 */
  margin-left: 1.5em;            /* 左缩进 */
  line-height: 2;              /* 行距更舒适 */
}

.custom-bullet li {
  margin-bottom: 1em;          /* 列表项之间留少许空隙 */
}

.custom-bullet ul {
  list-style-type: circle;    /* 二级：空心圆 */
  margin-left: 1.5em;         /* 再缩进 */
}

.sketch-board strong {
  font-weight: 800;     /* 比默认更黑 */
  color: #000;          /* 保证纯黑文字 */
}

.sketch-board b {
  font-weight: 800;     /* 比默认更黑 */
  color: #000;          /* 保证纯黑文字 */
}