/* Articles (deep dive, stock update, newsletter, knowledge): layout, side rail, closing blocks, and the
   WordPress block editor's blocks inside .dts-prose (from the DeepDive design's proposed additions). */

.dtc-article { padding-top: 24px; padding-bottom: 64px; }
.dtc-article .dts-article-head { max-width: 1000px; }
.dtc-art-types { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.dtc-art-layout { display: grid; grid-template-columns: minmax(0, 680px) minmax(0, 320px); justify-content: space-between; gap: 48px; margin-top: 28px; }
.dtc-art-layout.no-rail { grid-template-columns: minmax(0, 680px); }
.dtc-art-rail { position: sticky; top: 88px; align-self: start; display: flex; flex-direction: column; gap: 16px; }
.dtc-art-rail .dtc-card h3 { margin: 0 0 10px; }
@media (max-width: 1080px) { .dtc-art-layout { grid-template-columns: minmax(0, 1fr); } .dtc-art-rail { position: static; } }

.dtc-art-company { display: flex; flex-direction: column; gap: 10px; }
.dtc-art-co { display: flex; align-items: center; gap: 12px; }
.dtc-art-co b { color: var(--dtc-ink); }
.dtc-art-company .dts-btn { justify-content: center; }
.dtc-article a.dtc-art-link { display: block; font-weight: 700; color: var(--dtc-ink); text-decoration: none; margin-top: 4px; }
.dtc-article a.dtc-art-link:hover { color: var(--dtc-blue); }
.dtc-art-history { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.dtc-art-history li { display: flex; flex-direction: column; gap: 2px; padding-left: 12px; border-left: 2px solid var(--dtc-line); }
.dtc-art-history li[aria-current] { border-left-color: var(--dtc-blue); }
.dtc-art-history li > span:first-child { font-size: .78rem; color: var(--dtc-muted); }
.dtc-art-history a { font-weight: 700; color: var(--dtc-ink); text-decoration: none; }
.dtc-art-history li > span:last-child:not(:first-child) { font-size: .88rem; }
.dtc-article a.dtc-art-more { display: inline-block; margin-top: 12px; font-size: .9rem; font-weight: 600; }
.dtc-art-companies { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.dtc-article .dtc-art-companies a { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 6px 10px; border-radius: 8px;
  color: var(--dtc-ink); text-decoration: none; font-weight: 600; font-size: .92rem; }
.dtc-article .dtc-art-companies a:hover { background: var(--dtc-soft); }
.dtc-article .dtc-art-companies a.is-yours { background: var(--dtc-tint); }
.dtc-art-tag { font-size: .72rem; font-weight: 700; color: var(--dtc-blue); white-space: nowrap; }

/* stock update: what changed */
.dtc-art-changed { max-width: 1000px; margin-top: 20px; background: var(--dtc-surface); border: 1px solid var(--dtc-line); border-radius: 10px; padding: 18px; }
.dtc-art-changed-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 12px; }
.dtc-art-changed-head b { color: var(--dtc-ink); }
.dtc-art-change { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dtc-art-changed .dtc-badge { margin: 0; }
@media (max-width: 760px) { .dtc-art-change { grid-template-columns: 1fr; } }

/* closing */
.dtc-art-end { max-width: 680px; margin-top: 40px; display: grid; gap: 16px; }
.dtc-art-conclusion { background: var(--dtc-surface); border: 2px solid var(--dtc-blue); border-radius: 10px; padding: 22px; display: flex; flex-direction: column; gap: 12px; }
.dtc-art-conclusion h2 { margin: 0; font-size: .8rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--dtc-blue); }
.dtc-art-conclusion .dtc-badge { margin: 0; }
.dtc-art-cta { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; }
.dtc-art-issue { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; font-size: .9rem; }

/* archives (Archive design) */
.dtc-archive { padding-top: 32px; padding-bottom: 64px; }
.dtc-ar-tools { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 16px; }
.dtc-ar-tools .dts-tabs { margin: 0; }
.dtc-ar-count { margin: 0 0 10px; font-size: .88rem; color: var(--dtc-muted); min-height: 1em; }
.dtc-ar-list { list-style: none; margin: 0; padding: 0; }
.dtc-ar-deep_dive, .dtc-ar-newsletter, .dtc-ar-knowledge { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.dtc-ar-update { background: var(--dtc-surface); border: 1px solid var(--dtc-line); border-radius: 10px; overflow: hidden; }
.dtc-ar-item[hidden] { display: none; }
.dtc-ar-empty { padding: 32px 0; text-align: center; color: var(--dtc-muted); }
@media (max-width: 960px) { .dtc-ar-deep_dive, .dtc-ar-newsletter, .dtc-ar-knowledge { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .dtc-ar-deep_dive, .dtc-ar-newsletter, .dtc-ar-knowledge { grid-template-columns: 1fr; } }
/* Latest from Dividend Talk ([dt_latest]): one framed list, a row per item (date and type, title and line, arrow) */
.dtc-ar-latest { background: var(--dtc-surface); border: 1px solid var(--dtc-line); border-radius: 10px; overflow: hidden; }
.dtc-ar-latest > li { border-top: 1px solid var(--dtc-line); }
.dtc-ar-latest > li.is-first { border-top: 0; }
.dtc-archive a.dtc-ar-lt { display: grid; grid-template-columns: 150px minmax(0, 1fr) 20px; gap: 16px; align-items: start; padding: 14px 18px; text-decoration: none; color: inherit; }
.dtc-archive a.dtc-ar-lt:hover { background: var(--row-hover, #f8fafe); }
.dtc-archive a.dtc-ar-lt:hover h3 { color: var(--dtc-blue); }
.dtc-archive a.dtc-ar-lt:focus-visible { outline: 2px solid var(--dtc-blue); outline-offset: -2px; }
.dtc-ar-lt-when { display: flex; flex-direction: column; gap: 6px; align-items: flex-start; font-size: .8rem; color: var(--dtc-muted); font-variant-numeric: tabular-nums; }
.dtc-ar-lt-main { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.dtc-ar-lt-head { display: flex; flex-wrap: wrap; gap: 8px; align-items: baseline; }
.dtc-ar-lt-head h3 { margin: 0; font-size: 1rem; font-weight: 700; color: var(--dtc-ink); }
.dtc-ar-lt-head .dtc-ar-new, .dtc-ar-lt-head .dtc-ar-mine { align-self: center; }
.dtc-ar-lt-text { font-size: .92rem; color: var(--dtc-body); }
.dtc-ar-lt-arrow { color: var(--dtc-blue); font-weight: 700; }
@media (max-width: 640px) {
  .dtc-archive a.dtc-ar-lt { grid-template-columns: minmax(0, 1fr); row-gap: 6px; }
  .dtc-ar-lt-when { flex-direction: row; align-items: center; }
  .dtc-ar-lt-arrow { display: none; }
}
/* a search with nothing found: "Request a deep dive / stock update on …" and "Clear search" */
.dtc-ar-ask, .dtc-ar-empty-actions { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 8px 12px; margin-top: 12px; }
.dtc-ar-ask > span { font-size: .9rem; color: var(--dtc-body); }
.dtc-ar-asked { display: table; margin: 12px auto 0; font-size: .9rem; color: var(--dtc-ink); background: var(--dtc-tint); border-radius: 10px; padding: 8px 12px; }
.dts .dtc-ar-linkbtn { font: inherit; font-size: .88rem; font-weight: 600; color: var(--dtc-blue); background: none; border: 0; padding: 4px; text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
/* the way in from the three archives */
.dtc-ar-alllink { margin: 6px 0 0; font-size: .9rem; }
.dts .dtc-ar-alllink a { font-weight: 600; }
/* a deep dive over two years old: the label on its tile, the note at the top of the article */
.dtc-ar-old { align-self: flex-start; font-size: .78rem; font-weight: 700; color: var(--dtc-ink); background: var(--dtc-soft); border-radius: 10px; padding: 2px 8px; white-space: nowrap; }
/* our current view under a deep dive's title: a quiet row on every deep dive; a stock update newer than it comes first;
   over two years old, the whole block sits on grey with the note on top */
.dtc-dd-now { max-width: 1000px; margin: 18px 0 4px; display: grid; gap: 12px; }
.dtc-dd-now.is-old { background: var(--dtc-soft); border-radius: var(--dtc-radius); padding: 14px 16px; }
.dtc-dd-old { display: flex; gap: 12px; align-items: flex-start; margin: 0; color: var(--dtc-ink); }
.dtc-dd-age-mark { flex: none; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: var(--dtc-ink); color: #fff; font-weight: 800; font-size: .85rem; }
.dts a.dtc-dd-update { display: grid; gap: 8px; justify-items: start; background: var(--dtc-surface); border: 1px solid var(--dtc-line); border-radius: var(--dtc-radius); padding: 14px 16px; text-decoration: none; color: inherit; }
.dts a.dtc-dd-update:hover { border-color: var(--dtc-blue); }
.dts a.dtc-dd-update:hover .dtc-dd-update-title { color: var(--dtc-blue); }
.dtc-dd-update-label { font-size: .76rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--dtc-blue); }
.dtc-dd-update-title { font-size: 1.05rem; color: var(--dtc-ink); }
.dtc-dd-update .dts-change { width: 100%; }
.dtc-dd-actions, .dtc-dd-refresh { display: flex; flex-wrap: wrap; gap: 8px 10px; align-items: center; }
.dtc-dd-view { font-size: .9rem; color: var(--dtc-body); }
.dtc-dd-actions .dts-hint { margin: 0; }
.dtc-dd-asked { font-size: .88rem; color: var(--dtc-ink); background: var(--dtc-tint); border-radius: 10px; padding: 8px 12px; }
@media (max-width: 640px) { .dtc-dd-age-mark { display: none; } .dtc-dd-update .dts-change { grid-template-columns: minmax(0, 1fr); } }
/* "Load 18 more" (as the directory's "Show 30 more") */
.dtc-ar-more { display: flex; flex-direction: column; align-items: center; gap: 10px; margin-top: 20px; }
.dtc-ar-more[hidden], .dtc-ar-more-btn[hidden] { display: none; }
.dtc-ar-shown { margin: 0; font-size: .9rem; color: var(--dtc-muted); }
.dtc-ar-shown:empty { display: none; }
/* "What is a stock update?" (archive header and the stock update page) */
.dtc-ar-explain { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: start; background: var(--dtc-tint); border-radius: var(--dtc-radius); padding: 14px 16px; margin: 0 0 16px; }
.dtc-ar-explain[hidden] { display: none; }
.dtc-ar-explain b { color: var(--dtc-ink); }
.dtc-ar-explain p { margin: 4px 0 0; font-size: .92rem; max-width: 72ch; }
.dts .dtc-ar-explain-close, .dts .dtc-ar-explain-close:hover { display: grid; place-items: center; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 50%;
  background: transparent; color: var(--dtc-ink); font: inherit; font-size: 1.3rem; line-height: 1; cursor: pointer; }
.dts .dtc-ar-explain-close:hover { background: var(--chip-hover, #dbe7fc); }
.dts .dtc-ar-explain-close:focus-visible { outline: 2px solid var(--dtc-blue); outline-offset: 2px; }

.dtc-archive a.dtc-ar-card { padding: 0; overflow: hidden; gap: 0; height: 100%; }
.dtc-ar-cover { background: var(--dtc-tint); border-bottom: 1px solid var(--dtc-line); overflow: hidden; }
.dtc-ar-cover img { display: block; width: 100%; height: 100%; object-fit: cover; }
.dtc-ar-body { display: flex; flex-direction: column; gap: 10px; padding: 16px 18px 18px; flex: 1 0 auto; }
.dtc-ar-body h3 { margin: 0; }
.dtc-ar-mine { align-self: flex-start; font-size: .78rem; font-weight: 700; color: var(--dtc-blue); background: var(--dtc-tint); border-radius: 10px; padding: 2px 8px; white-space: nowrap; }
.dtc-ar-label { font-size: .78rem; color: var(--dtc-muted); }
.dtc-ar-chips { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.dtc-ar-chip { font-size: .8rem; font-weight: 600; border-radius: 12px; padding: 2px 10px; background: var(--dtc-soft); color: var(--dtc-ink); }
.dtc-ar-chip.is-yours { background: var(--dtc-tint); color: var(--dtc-blue); }

/* Stock updates: one row each in one frame. Company first (logo, name, ticker, New, In My stocks), then the
   update (title; type, date, analyst and summary on one line), then our verdict and what changed, with the figures. */
.dtc-ar-update > li { border-top: 1px solid var(--dtc-line); }
.dtc-ar-update > li.is-first { border-top: 0; }
.dtc-archive a.dtc-ar-up { display: grid; grid-template-columns: 48px minmax(0, 1fr) 340px; column-gap: 16px; align-items: center; padding: 14px 18px; text-decoration: none; color: inherit; }
.dtc-archive a.dtc-ar-up:hover { background: var(--row-hover, #f8fafe); }
.dtc-archive a.dtc-ar-up:hover h3 { color: var(--dtc-blue); }
.dtc-archive a.dtc-ar-up:focus-visible { outline: 2px solid var(--dtc-blue); outline-offset: -2px; }
.dtc-ar-logo { width: 56px; height: 56px; border-radius: 50%; background: #fff; border: 1px solid var(--dtc-line); padding: 6px; overflow: hidden; flex-shrink: 0;
  display: inline-flex; align-items: center; justify-content: center; }
.dtc-ar-update .dtc-ar-logo { width: 48px; height: 48px; padding: 5px; box-sizing: border-box; }
.dtc-ar-logo img { width: 100%; height: 100%; object-fit: contain; }
.dtc-ar-logo.is-fill, .dtc-ar-update .dtc-ar-logo.is-fill { padding: 0; }   /* square brand icon: fills the circle */
.dtc-ar-logo.is-fill img { object-fit: cover; }
.dtc-ar-logo.is-initial { background: var(--dtc-tint); border-color: transparent; color: var(--dtc-blue); font-weight: 700; }
.dtc-ar-up-main { display: flex; flex-direction: column; gap: 2px; min-width: 0; line-height: 1.35; }
.dtc-ar-up-co { display: flex; align-items: baseline; gap: 8px; min-width: 0; }
.dtc-ar-up-co h3 { margin: 0; font-size: 1rem; font-weight: 700; color: var(--dtc-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.dtc-ar-tk { flex: none; font-size: .8rem; color: var(--dtc-muted); }
.dtc-ar-new { flex: none; align-self: center; font-size: .78rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #fff; background: var(--dtc-blue); border-radius: 10px; padding: 1px 8px; }
.dtc-ar-up-co .dtc-ar-mine { flex: none; align-self: center; }
.dtc-ar-up-main p { margin: 0; }
.dtc-ar-up-main .dtc-ar-up-sub { font-size: .92rem; color: var(--dtc-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dtc-ar-up-meta { font-size: .8rem; color: var(--dtc-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dtc-ar-up-meta b { font-weight: 600; color: var(--dtc-body); }
/* our verdict and what changed: the safety circle, then "Safety …" and "Fair value …" in words and arrows */
.dtc-ar-verdict { display: grid; grid-template-columns: 42px minmax(0, 1fr); column-gap: 12px; align-items: center; padding-left: 16px; border-left: 1px solid var(--dtc-line); }
.dtc-ar-verdict .dtl-ring.is-unrated { background: var(--not-rated, #bdbdbd); }
.dtc-ar-vlines { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.dtc-ar-vl { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 6px; font-size: .8rem; line-height: 1.45; }
.dtc-ar-k { min-width: 64px; color: var(--dtc-muted); }
.dtc-ar-vl b { font-weight: 700; color: var(--dtc-ink); font-variant-numeric: tabular-nums; }
.dtc-ar-was { color: var(--dtc-muted); font-variant-numeric: tabular-nums; }
.dtc-ar-none, .dtc-ar-now { color: var(--dtc-muted); }
.dtc-ar-chg { display: inline-flex; align-items: center; font-size: .78rem; font-weight: 700; border-radius: 10px; padding: 1px 8px; white-space: nowrap; }
.dtc-ar-chg.is-up { background: var(--dtc-tint); color: var(--dtc-blue); }
.dtc-ar-chg.is-down { background: var(--form-error-bg, #fdeee6); color: var(--form-error, #a63f17); }
.dtc-ar-chg.is-same { background: var(--dtc-soft); color: var(--dtc-muted); font-weight: 600; }
@media (max-width: 860px) {
  .dtc-archive a.dtc-ar-up { grid-template-columns: 40px minmax(0, 1fr); row-gap: 10px; align-items: start; }
  .dtc-ar-update .dtc-ar-logo { width: 40px; height: 40px; }
  .dtc-ar-up-co { flex-wrap: wrap; }
  .dtc-ar-up-main .dtc-ar-up-sub { white-space: normal; }
  .dtc-ar-verdict { grid-column: 1 / -1; padding: 10px 0 0; border-left: 0; border-top: 1px dashed var(--dtc-line); }
}

.dtc-archive .dtc-ar-switch { display: inline-flex; align-items: center; gap: 10px; font: inherit; font-size: .9rem; font-weight: 600; color: var(--dtc-ink); background: var(--dtc-surface);
  border: 1px solid var(--dtc-line); border-radius: 18px; padding: 6px 14px 6px 8px; cursor: pointer; min-height: 36px; text-transform: none; letter-spacing: 0; }
.dtc-ar-knob { width: 30px; height: 18px; border-radius: 9px; background: var(--dtc-track); position: relative; flex-shrink: 0; }
.dtc-ar-knob::after { content: ""; position: absolute; top: 2px; left: 2px; width: 14px; height: 14px; border-radius: 50%; background: #fff; transition: left .15s; }
.dtc-ar-switch[aria-pressed="true"] .dtc-ar-knob { background: var(--dtc-blue); }
.dtc-ar-switch[aria-pressed="true"] .dtc-ar-knob::after { left: 14px; }
.dtc-archive .dts-pager a { text-decoration: none; }

/* valuation calculator ([dt_valuation]) */
.dtc-valuation { padding-top: 32px; padding-bottom: 64px; display: flex; flex-direction: column; gap: 20px; }
.dtc-valuation .dts-archive-head { margin: 0; }
.dtc-valuation .dts-archive-head h1 { margin-top: 0; }
.dtc-val-co { display: flex; align-items: center; gap: 14px; background: var(--dtc-surface); border: 1px solid var(--dtc-line); border-radius: 10px; padding: 14px 18px; }
.dtc-val-co b { color: var(--dtc-ink); font-size: 1.1rem; }
.dtc-val-facts { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 4px; font-size: .92rem; color: var(--dtc-body); }
.dtc-val-facts b { font-size: .95rem; }
.dtc-val-facts a { font-weight: 600; }
.dtc-val-co-empty { margin: 0; color: var(--dtc-muted); }
.dtc-val-tabs { margin: 0; }
.dtc-val-tabs [role="tab"] { cursor: pointer; }
.dtc-val-panel { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 360px); gap: 24px; align-items: start; }
.dtc-val-panel[hidden] { display: none; }
.dtc-val-main { display: grid; gap: 16px; }
.dtc-val-main .dtc-card { margin: 0; }
.dtc-val-h { margin: 0 0 4px; font-size: 1.1rem; color: var(--dtc-ink); }
.dtc-val-chart { position: relative; height: 260px; margin-top: 10px; }
.dtc-val-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 20px; margin-top: 12px; }
.dtc-val-field .dts-hint { margin: 0; }
.dtc-val-input { display: flex; align-items: stretch; }
.dtc-val-input .dts-input { flex: 1; min-width: 0; border-top-right-radius: 0; border-bottom-right-radius: 0; font-variant-numeric: tabular-nums; }
.dtc-val-unit { display: inline-flex; align-items: center; padding: 0 12px; background: var(--dtc-soft); border: 1px solid var(--dtc-line); border-left: 0; border-radius: 0 8px 8px 0; font-size: .85rem; color: var(--dtc-body); white-space: nowrap; }
.dtc-val-results { position: sticky; top: 88px; display: grid; gap: 12px; }
.dtc-val-results .dtc-card { margin: 0; border: 2px solid var(--dtc-blue); }
.dtc-val-res-label { font-size: .8rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--dtc-blue); }
.dtc-val-res-value { font-size: 2.4rem; font-weight: 800; color: var(--dtc-ink); line-height: 1.15; font-variant-numeric: tabular-nums; margin: 4px 0 8px; }
.dtc-val-ccy { font-size: 1rem; font-weight: 700; color: var(--dtc-muted); }
.dtc-val-compare p { margin: 0 0 6px; }
.dtc-val-vs { font-size: .95rem; color: var(--dtc-ink); }
.dtc-val-break { display: grid; grid-template-columns: 1fr auto; gap: 6px 12px; margin: 12px 0 0; padding-top: 12px; border-top: 1px solid var(--dtc-line); font-size: .88rem; }
.dtc-val-break dt { color: var(--dtc-body); }
.dtc-val-break dd { margin: 0; text-align: right; font-weight: 600; color: var(--dtc-ink); font-variant-numeric: tabular-nums; }
.dtc-val-warn { margin: 12px 0 0; padding: 10px 12px; border-radius: 8px; background: var(--form-error-bg, #fdeee6); color: var(--dtc-ink); font-size: .88rem; }
.dtc-val-warn[hidden] { display: none; }
.dtc-val-learn { margin: 0; font-size: .92rem; }
@media (max-width: 1000px) { .dtc-val-panel { grid-template-columns: minmax(0, 1fr); } .dtc-val-results { position: static; } }
@media (max-width: 640px) { .dtc-val-grid { grid-template-columns: 1fr; } .dtc-val-res-value { font-size: 2rem; } }

/* free sample bar (content no MemberPress rule protects) */
.dtc-sample-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; background: var(--dtc-tint); border: 1px solid var(--dtc-blue); border-radius: 10px;
  padding: 12px 16px; margin: 16px 0 8px; }
.dtc-sample-bar p { margin: 0; flex: 1 1 280px; color: var(--dtc-ink); font-size: .95rem; }
.dtc-sample-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.dtc-sample-wrap { padding-bottom: 0; }
.dtc-article .dtc-sample-bar { margin-top: 0; margin-bottom: 20px; }

/* locked content ([dt_locked]) */
.dtc-page-locked { padding-top: 48px; padding-bottom: 64px; max-width: 1240px; }
.dtc-page-locked .dtc-lock-panel { max-width: 640px; margin: 0 auto; }
.dtc-page-locked .dtc-section { max-width: 860px; margin-left: auto; margin-right: auto; }
.dtc-lock-panel .dts-type { margin-bottom: 10px; }
.dtc-lock-panel h2 { font-size: 1.35rem; line-height: 1.25; font-weight: 800; }
.dtc-lock-panel .dts-hint { margin: 14px auto 0; }
.dtc-art-about { margin: 14px 0 0; font-weight: 600; }
.dtc-art-lockwrap { margin-top: 28px; max-width: 760px; }
.dtc-art-lockwrap .dtc-lock-panel { margin-top: -40px; }
.dtc-lock-alt { display: flex; flex-direction: column; gap: 10px; }
.dtc-lock-alt h3, .dtc-lock-alt p { margin: 0; }
.dtc-lock-alt .dts-btn { align-self: flex-start; }
.dtc-art-locked .dtc-section { max-width: 1000px; }

/* wiki (Wiki design) */
.dtc-wiki { padding-top: 32px; padding-bottom: 64px; display: flex; flex-direction: column; gap: 28px; }
.dtc-wiki .dts-archive-head { margin: 0; }
.dtc-wk-browse { display: flex; flex-direction: column; gap: 28px; }
.dtc-wk-browse[hidden], .dtc-wk-results[hidden] { display: none; }
.dtc-wk-top { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 16px; }
.dtc-wk-start { background: var(--dtc-tint); border-color: var(--dtc-tint); }
.dtc-wk-start h2 { margin: 0 0 12px; font-size: 1.3rem; color: var(--dtc-ink); }
.dtc-wk-start ol { margin: 0; padding-left: 1.2em; display: grid; gap: 6px; }
.dtc-wk-course { display: flex; flex-direction: column; gap: 10px; }
.dtc-wk-course .dts-type, .dtc-wk-course .dts-btn { align-self: flex-start; }
.dtc-wk-course h2 { margin: 0; font-size: 1.15rem; color: var(--dtc-ink); }
.dtc-wk-course p { margin: 0; }
.dtc-wk-results ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.dtc-wk-results li { background: var(--dtc-surface); border: 1px solid var(--dtc-line); border-radius: 10px; padding: 14px 18px; }
.dtc-wk-results li[hidden] { display: none; }
.dtc-wk-results li a { font-weight: 700; text-decoration: none; }
.dtc-wk-results li p { margin: 4px 0 0; font-size: .92rem; color: var(--dtc-body); }
.dtc-wk-suggest { margin: 0; }
@media (max-width: 860px) { .dtc-wk-top { grid-template-columns: 1fr; } }

/* block editor content */
.dtc-article .dts-prose img { max-width: 100%; height: auto; }
.dtc-article .dts-prose .wp-block-table { margin-left: 0; margin-right: 0; overflow-x: auto; }
.dtc-article .dts-prose .has-text-align-right { text-align: right; }
.dtc-article .dts-prose .wp-block-table figcaption, .dtc-article .dts-prose .wp-block-image figcaption { font-size: .85rem; color: var(--dtc-muted); margin-top: 8px; text-align: left; }
.dtc-article .dts-prose .wp-block-image img { display: block; border-radius: 10px; border: 1px solid var(--dtc-line); }
.dtc-article .dts-prose ul.is-style-dt-contents { list-style: none; margin: 0; padding: 16px 20px; background: var(--dtc-surface); border: 1px solid var(--dtc-line); border-radius: 10px;
  counter-reset: dtc; columns: 2; column-gap: 32px; font-size: 1rem; }
.dtc-article .dts-prose ul.is-style-dt-contents li { counter-increment: dtc; break-inside: avoid; padding: 4px 0; }
.dtc-article .dts-prose ul.is-style-dt-contents li::before { content: counter(dtc) "."; display: inline-block; width: 1.6em; color: var(--dtc-muted); font-variant-numeric: tabular-nums; }
.dtc-article .dts-prose .wp-block-group.is-style-dt-summary { background: var(--dtc-tint); border-radius: 10px; padding: 18px 22px; }
.dtc-article .dts-prose .wp-block-group.is-style-dt-summary > * + * { margin-top: .6em; }
.dtc-article .dts-prose .wp-block-group.is-style-dt-summary h2 { margin-top: 0; font-size: .8rem; letter-spacing: .06em; text-transform: uppercase; color: var(--dtc-blue); }
.dtc-article .dts-prose .wp-block-quote { margin-left: 0; margin-right: 0; padding: 4px 0 4px 20px; border-left: 3px solid var(--dtc-blue); font-size: 1.2rem; color: var(--dtc-ink); }
.dtc-article .dts-prose .wp-block-quote cite { display: block; margin-top: 6px; font-size: .85rem; font-style: normal; color: var(--dtc-muted); }
.dtc-article .dts-prose .wp-block-embed iframe { max-width: 100%; }
.dtc-article .dts-prose .wp-block-columns { display: flex; flex-wrap: wrap; gap: 16px; }
.dtc-article .dts-prose .wp-block-column { flex: 1 1 240px; min-width: 0; }
@media (max-width: 640px) { .dtc-article .dts-prose ul.is-style-dt-contents { columns: 1; } }
