/* CCT concept journey: a readable overview before detail. */
#model,#mechanism,#lifestyle,#elements,#dissonance-resolution,#practice,#evidence,#medical,#reading { scroll-margin-top: 90px; }
/* Four everyday moments sit around a genuine, clockwise cycle. */
.cct-map { margin:0; padding:24px; border:1px solid var(--border); border-radius:24px; background:linear-gradient(160deg,#edf6f5,#fffdf8); }
.cct-cycle { position:relative; isolation:isolate; width:min(100%,680px); aspect-ratio:1; margin:0 auto; }
.concept-page .cct-cycle-arrows { position:absolute; left:9%; top:50%; width:82%; height:auto; aspect-ratio:1 / 1; transform:translateY(-50%); overflow:visible; fill:none; stroke:#167d79; stroke-width:4; stroke-linecap:round; stroke-linejoin:round; opacity:.8; }
.cct-cycle-arrowhead { stroke-width:5; }
.cct-cycle-steps { position:absolute; inset:0; display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr; gap:14%; margin:0; padding:0; list-style:none; }
.cct-cycle-steps li { z-index:1; align-self:start; box-sizing:border-box; width:min(100%,210px); height:118px; min-width:0; padding:16px; border:1px solid rgba(29,91,99,.22); border-radius:18px; background:#fff; box-shadow:var(--shadow-sm); }
.cct-cycle-steps li:nth-child(2),.cct-cycle-steps li:nth-child(3) { justify-self:end; }
.cct-cycle-steps li:nth-child(n+3) { align-self:end; }
.cct-cycle-steps li:nth-child(3) { grid-column:2; grid-row:2; }
.cct-cycle-steps li:nth-child(4) { grid-column:1; grid-row:2; }
.cct-map-meta,.cct-element-top { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.concept-page .cct-map-meta svg { width:28px; height:28px; color:var(--brand); }
.concept-page .cct-element-top svg { width:32px; height:32px; color:var(--brand); }
.cct-map-count { display:block; color:var(--brand-2); font-weight:850; font-size:13px; letter-spacing:.12em; }
.cct-cycle-steps strong { display:block; color:var(--heading); font-size:18px; margin:4px 0; line-height:1.35; }
.cct-cycle-steps li > span:last-child { display:block; color:var(--muted); font-size:13px; line-height:1.55; }
.cct-cycle-center { position:absolute; left:50%; top:50%; display:flex; flex-direction:column; justify-content:center; align-items:center; width:24%; aspect-ratio:1; transform:translate(-50%,-50%); border-radius:50%; background:var(--brand); box-shadow:0 10px 24px rgba(29,91,99,.2); color:#fff; text-align:center; }
.cct-cycle-center strong { font-size:clamp(20px,4vw,32px); line-height:1.1; }
.cct-cycle-center span { margin-top:5px; font-size:clamp(9px,1.5vw,12px); line-height:1.35; }
.cct-map figcaption { margin-top:12px; color:var(--muted); font-size:13px; line-height:1.7; }
.cct-map-explain { margin:18px 2px 0; line-height:1.9; }
.cct-scenes,.cct-element-grid { display:grid; gap:14px; }
.cct-scene { padding:20px; border:1px solid var(--border); border-radius:18px; background:var(--surface); }
.cct-scene-label { color:var(--brand-2); font-size:13px; font-weight:800; letter-spacing:.08em; }
.cct-scene h3 { color:var(--heading); margin:5px 0 8px; }
.cct-scene p { margin:0; color:var(--muted); line-height:1.8; }
.cct-soft-note { margin:20px 0 0; padding:16px 18px; border-left:4px solid var(--brand-2); border-radius:12px; background:var(--surface-2); line-height:1.85; }
.cct-element { display:flex; flex-direction:column; gap:7px; min-width:0; padding:18px; border:1px solid var(--border); border-radius:18px; background:#fff; color:var(--text); box-shadow:var(--shadow-sm); text-decoration:none; }
.cct-element:hover,.cct-element:focus-visible { border-color:var(--brand-2); background:var(--surface-2); transform:translateY(-2px); }
.cct-element-no { color:var(--brand-2); font-size:13px; font-weight:850; }
.cct-element strong { color:var(--heading); font-size:19px; }
.cct-element span:not(.cct-element-no) { color:var(--muted); line-height:1.65; }
.cct-element em { margin-top:auto; padding-top:8px; color:var(--brand); font-style:normal; font-weight:800; }
.concept-compare-card p + p { margin-top:12px; }
.concept-compare-card .concept-guide-link { margin-top:0; }
.cct-practice { display:grid; gap:12px; margin:0; padding:0; list-style:none; counter-reset:cct-practice; }
.cct-practice li { counter-increment:cct-practice; padding:16px 18px 16px 62px; position:relative; border:1px solid var(--border); border-radius:16px; background:#fff; }
.cct-practice li::before { content:counter(cct-practice); position:absolute; top:17px; left:18px; display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:var(--brand); color:#fff; font-weight:800; }
.cct-practice li > span { color:var(--heading); font-weight:800; }
.cct-practice p { margin:3px 0 0; color:var(--muted); line-height:1.75; }
.guide-orientation { margin:0 0 18px; padding:18px 22px; border:1px solid var(--border); border-radius:18px; background:var(--surface-2); }
.guide-orientation p { margin:0; line-height:1.8; }
.guide-orientation p + p { margin-top:6px; }
.guide-orientation a { font-weight:800; }
.guide-orientation-label { color:var(--brand); font-size:13px; font-weight:800; letter-spacing:.06em; }
.guide-mini-map { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; margin:14px 0 0; padding:0; list-style:none; }
.guide-mini-map li { padding:8px; border:1px solid var(--border); border-radius:10px; background:#fff; color:var(--muted); font-size:13px; text-align:center; line-height:1.45; }
.guide-mini-map li.is-current { background:var(--brand); color:#fff; font-weight:800; }
@media (min-width:640px) {
  .cct-scenes { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .cct-element-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .guide-mini-map { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (min-width:900px) {
  .cct-element-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:560px) {
  .cct-map { padding:12px; }
  .cct-cycle { height:clamp(310px,90vw,370px); aspect-ratio:auto; }
  .cct-cycle-steps { gap:11%; }
  .cct-cycle-steps li { height:110px; padding:9px; border-radius:13px; }
  .cct-map-count { font-size:10px; }
  .concept-page .cct-map-meta svg { width:24px; height:24px; }
  .cct-cycle-steps strong { font-size:clamp(12px,3.8vw,16px); margin:2px 0; }
  .cct-cycle-steps li > span:last-child { font-size:clamp(10px,3vw,12px); line-height:1.35; }
  .cct-cycle-center { width:27%; }
  .cct-cycle-center strong { font-size:clamp(18px,6vw,24px); }
  .cct-cycle-center span { font-size:clamp(8px,2.6vw,10px); }
  .cct-cycle-arrows { stroke-width:5; }
  .concept-page .concept-hero { min-height:0; }
  .concept-page .concept-hero-content { max-width:none; }
  .concept-page .concept-hero h1 { font-size:clamp(28px,8vw,42px); }
  .concept-page .concept-hero p { font-size:15px; }
  .concept-page .hero-actions { display:flex; flex-wrap:wrap; }
  .concept-page .hero-actions .btn { white-space:normal; }
}

/* Trace several possible paths backward from a change, then follow the cycle forward. */
.cct-branches { margin:0; padding:22px; border:1px solid var(--border); border-radius:24px; background:linear-gradient(160deg,#edf6f5,#fffdf8); }
.cct-branches-signal { width:max-content; max-width:100%; margin:0 auto 32px; padding:16px 28px; border-radius:20px; background:var(--brand); color:#fff; text-align:center; }
.cct-branches-signal span,.cct-branches-signal strong { display:block; }
.cct-branches-signal span { font-size:14px; opacity:.9; }
.cct-branches-signal strong { font-size:clamp(18px,2.4vw,24px); line-height:1.5; }
.cct-branches-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.cct-branch { min-width:0; padding:18px; border:1px solid rgba(29,91,99,.22); border-radius:18px; background:#fff; box-shadow:var(--shadow-sm); }
.cct-branch-label { display:block; color:var(--brand-2); font-size:14px; font-weight:800; }
.cct-branch strong { display:block; margin:8px 0; color:var(--heading); font-size:18px; line-height:1.5; }
.cct-branch-arrow { display:block; color:var(--brand-2); font-size:25px; font-weight:800; line-height:1; }
.cct-branch p { margin:8px 0 0; color:var(--text); line-height:1.75; }
.cct-branches figcaption { margin-top:18px; color:var(--muted); font-size:14px; line-height:1.75; }
@media (max-width:700px) {
  .cct-branches { padding:14px; }
  .cct-branches-grid { grid-template-columns:1fr; gap:12px; }
  .cct-branches-signal { margin-bottom:20px; }
  .cct-branch { padding:16px; }
}

.cct-loop-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:18px; }
.cct-loop-pair article { padding:18px; border:1px solid var(--border); border-radius:18px; background:#fff; }
.cct-loop-pair article:last-child { background:#eaf5f2; }
.cct-loop-pair span { color:var(--brand); font-weight:800; }
.cct-loop-pair p { margin:8px 0 0; line-height:1.8; }
@media (max-width:700px) { .cct-loop-pair { grid-template-columns:1fr; } }

@media (min-width:701px) {
  .cct-branches-signal { position:relative; }
  .cct-branches-signal::after { content:""; position:absolute; left:50%; bottom:-16px; height:16px; border-left:2px solid #167d79; }
  .cct-branches-grid { position:relative; }
  .cct-branches-grid::before { content:""; position:absolute; left:16.666%; right:16.666%; top:-16px; border-top:2px solid #167d79; }
  .cct-branch { position:relative; }
  .cct-branch::before { content:""; position:absolute; left:50%; top:-16px; height:16px; border-left:2px solid #167d79; }
}

/* Everyday practices sit between the causal cycle and the six viewpoints. */
.cct-foundations { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.cct-foundations article { min-width:0; padding:20px; border:1px solid var(--border); border-radius:18px; background:#fff; }
.cct-foundations span { display:block; color:var(--brand-2); font-size:14px; font-weight:800; }
.cct-foundations h3 { margin:6px 0 10px; color:var(--heading); font-size:19px; }
.cct-foundations p { margin:0; line-height:1.8; }
.guide-subtypes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.guide-subtypes article { min-width:0; padding:16px; border:1px solid var(--border); border-radius:16px; background:#fff; }
.guide-subtypes h3 { margin:0 0 7px; color:var(--heading); font-size:18px; }
.guide-subtypes p { margin:0; line-height:1.75; }
@media (max-width:700px) {
  .cct-foundations,.guide-subtypes { grid-template-columns:1fr; }
}

/* Detailed concept pages: compact taxonomy, readable on phones. */
.guide-jump { display:flex; flex-wrap:wrap; gap:8px 16px; margin-top:16px !important; font-size:.9rem; font-weight:750; }
.guide-jump a { white-space:normal; }
.guide-taxonomy { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:18px; }
.guide-taxonomy article { position:relative; min-width:0; padding:18px 20px; border:1px solid var(--border); border-radius:16px; background:#fff; }
.guide-taxonomy-number { display:inline-block; margin-bottom:5px; color:var(--brand-2); font-size:.78rem; font-weight:800; letter-spacing:.08em; }
.guide-taxonomy h3,.guide-paths h3 { margin:0 0 7px; color:var(--heading); font-size:1.06rem; line-height:1.45; }
.guide-taxonomy p,.guide-paths p { margin:0 0 7px; line-height:1.7; font-size:.96rem; }
.guide-taxonomy .guide-taxonomy-clue { margin:0; padding-top:9px; border-top:1px solid var(--border); color:var(--muted); font-size:.88rem; }
.guide-taxonomy-clue strong { color:var(--brand); }
.guide-paths { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:18px 0; }
.guide-paths article { min-width:0; padding:18px 20px; border-left:3px solid var(--brand-2); border-radius:12px; background:var(--surface-2); }
.guide-soft-note { padding:12px 16px; border-radius:12px; background:var(--surface-2); font-size:.93rem; }
@media (max-width:700px) {
  .guide-taxonomy,.guide-paths { grid-template-columns:1fr; }
  .guide-taxonomy { gap:10px; margin-top:12px; }
  .guide-taxonomy article,.guide-paths article { padding:14px 16px; }
  .guide-taxonomy h3 { margin-bottom:4px; }
  .guide-jump { gap:5px 12px; }
}

#groups,#paths { scroll-margin-top:96px; }

/* Pictograms identify the kind of observation before the detail text. */
.guide-taxonomy-heading { display:flex; align-items:center; gap:12px; margin:0 0 9px; }
.guide-taxonomy-heading h3 { margin:0; }
.guide-taxonomy-icon,.cct-branch-icon { display:grid; place-items:center; flex:none; width:40px; height:40px; border-radius:12px; background:#e8f3f1; color:var(--brand); }
.guide-taxonomy-icon svg,.cct-branch-icon svg { display:block; width:24px; height:24px; }
.guide-taxonomy-number { margin-bottom:7px; }
.cct-branch { display:grid; grid-template-columns:minmax(0,1fr) 40px; align-content:start; }
.cct-branch-label { grid-column:1; grid-row:1; align-self:center; }
.cct-branch-icon { grid-column:2; grid-row:1; }
.cct-branch > strong,.cct-branch-arrow,.cct-branch > p { grid-column:1 / -1; }
@media (max-width:700px) {
  .guide-taxonomy-icon { width:36px; height:36px; border-radius:10px; }
  .guide-taxonomy-icon svg { width:22px; height:22px; }
  .guide-taxonomy-heading { gap:10px; margin-bottom:7px; }
}

/* Reinforcing cycles, their ripple effects, and the practical guide. */
#loop,#interrupt,#steps,#example-one,#when-stuck { scroll-margin-top:96px; }
.cct-feedback-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; align-items:start; }
.cct-feedback-pair > div { min-width:0; }
.cct-feedback-pair h3 { margin:0 0 10px; color:var(--heading); font-size:1.16rem; }
.cct-feedback-pair .concept-guide-link { display:inline-block; margin:10px 0 2px; font-weight:800; }
.cct-feedback { --cycle:#a65349; --cycle-soft:#fbefed; margin:0; padding:18px; border:1px solid var(--border); border-radius:22px; background:linear-gradient(145deg,var(--cycle-soft),#fff); }
.cct-feedback--positive { --cycle:#3f7d58; --cycle-soft:#edf7ef; }
.cct-feedback-steps { margin:0 0 0 15px; padding:0 0 0 18px; border-left:3px solid var(--cycle); list-style:none; display:grid; gap:25px; }
.cct-feedback-steps li { position:relative; min-width:0; display:flex; align-items:flex-start; gap:12px; padding:14px; border:1px solid color-mix(in srgb,var(--cycle) 28%,white); border-radius:15px; background:#fff; box-shadow:var(--shadow-sm); }
.cct-feedback-steps li::before { content:""; position:absolute; left:-27px; top:25px; width:9px; height:9px; border-radius:50%; background:var(--cycle); }
.cct-feedback-steps li:not(:last-child)::after { content:"↓"; position:absolute; bottom:-27px; left:50%; transform:translateX(-50%); color:var(--cycle); font-size:1.2rem; font-weight:850; line-height:1; }
.cct-feedback-count { flex:none; padding-top:1px; color:var(--cycle); font-size:.85rem; font-weight:850; letter-spacing:.04em; }
.cct-feedback-steps li > div { min-width:0; }
.cct-feedback-steps strong { display:block; color:var(--heading); font-size:1rem; line-height:1.4; }
.cct-feedback-steps small { display:block; margin-top:4px; color:var(--muted); font-size:.84rem; line-height:1.5; }
.cct-feedback-return { position:relative; display:flex; align-items:center; gap:11px; margin:20px 0 0 15px; padding:12px 14px 12px 18px; border-left:3px solid var(--cycle); border-bottom:3px solid var(--cycle); border-radius:0 0 0 14px; color:var(--heading); }
.cct-feedback-return::before { content:"↑"; position:absolute; top:-13px; left:-10px; color:var(--cycle); font-size:1.25rem; font-weight:850; }
.cct-feedback-return-arrow { color:var(--cycle); font-size:1.8rem; line-height:1; }
.cct-feedback-return strong,.cct-feedback-return span:last-child { display:block; }
.cct-feedback-return strong { font-size:.94rem; }
.cct-feedback-return span:last-child { color:var(--muted); font-size:.82rem; line-height:1.55; }
.cct-feedback figcaption { margin-top:15px; font-size:.84rem; line-height:1.65; color:var(--muted); }
.cct-ripple-pair,.cct-interruption-grid,.cct-method-branches,.cct-choice-grid,.cct-outcomes { display:grid; gap:14px; }
.cct-ripple-pair { grid-template-columns:repeat(2,minmax(0,1fr)); margin:20px 0; }
.cct-ripple,.cct-interruption-grid article,.cct-method-branches article,.cct-choice-grid article,.cct-outcomes article { min-width:0; padding:18px; border:1px solid var(--border); border-radius:16px; background:#fff; }
.cct-ripple--negative { border-left:4px solid #a65349; }
.cct-ripple--positive { border-left:4px solid #3f7d58; }
.cct-ripple h3,.cct-interruptions h3,.cct-detail-spread h3,.cct-loop-break h3 { margin:0 0 10px; color:var(--heading); font-size:1.1rem; }
.cct-ripple p,.cct-interruption-grid p,.cct-detail-spread p,.cct-loop-break p { margin:0; line-height:1.75; }
.cct-ripple-tags { display:flex; flex-wrap:wrap; gap:7px; margin-top:14px; }
.cct-ripple-tags span { padding:5px 9px; border-radius:99px; background:var(--surface-2); color:var(--brand); font-size:.8rem; font-weight:750; }
.cct-interruptions { margin:20px 0; padding:20px; border-radius:18px; background:var(--surface-2); }
.cct-interruption-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.cct-interruption-grid h4,.cct-interruption-grid h3 { margin:0 0 8px; color:var(--heading); font-size:1rem; }
.cct-interruption-mark { display:inline-block; margin-bottom:6px; color:var(--brand); font-size:1.35rem; font-weight:800; }
.cct-detail-spread,.cct-loop-break { margin-top:17px; padding:17px 19px; border-radius:15px; background:var(--surface-2); }
.cct-loop-break { border-left:4px solid var(--brand); }
.cct-loop-break p + p { margin-top:12px; }
.cct-practice-next { margin:24px 0 0; }
.cct-howto .guide-section { min-width:0; }
.cct-howto .guide-section > h2 { font-size:clamp(22px,3vw,27px); }
.cct-method-map,.cct-method-rule { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:20px 0; counter-reset:method; }
.cct-method-map span,.cct-method-rule span { position:relative; min-width:0; padding:12px 13px; border-radius:12px; background:var(--surface-2); color:var(--heading); font-size:.9rem; font-weight:750; text-align:center; }
.cct-method-map span { counter-increment:method; padding-left:30px; }
.cct-method-map span::before { content:counter(method); position:absolute; top:50%; left:10px; transform:translateY(-50%); color:var(--brand); font-size:.82rem; font-weight:850; }
.cct-method-branches,.cct-choice-grid { grid-template-columns:repeat(3,minmax(0,1fr)); margin:17px 0; }
.cct-method-branches h3,.cct-choice-grid h3,.cct-outcomes h3 { margin:0 0 8px; color:var(--heading); font-size:1rem; }
.cct-method-branches p,.cct-choice-grid p,.cct-outcomes p { margin:0; font-size:.94rem; line-height:1.75; }
.cct-method-example { margin-top:17px !important; padding:15px 18px; border-left:4px solid var(--brand-2); border-radius:10px; background:var(--surface-2); }
.cct-method-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:17px; }
.cct-method-pair a { display:flex; flex-direction:column; gap:4px; padding:16px 18px; border:1px solid var(--border); border-radius:14px; background:var(--surface-2); text-decoration:none; }
.cct-method-pair strong { color:var(--brand); }
.cct-method-pair span { color:var(--muted); font-size:.9rem; }
.cct-method-rule { grid-template-columns:repeat(4,minmax(0,1fr)); }
.cct-observation { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; margin:18px 0; }
.cct-observation div { position:relative; min-width:0; padding:15px 12px; border:1px solid var(--border); border-radius:13px; background:var(--surface-2); }
.cct-observation div:not(:last-child)::after { content:"→"; position:absolute; top:50%; right:-11px; z-index:1; transform:translateY(-50%); color:var(--brand); font-weight:900; }
.cct-observation strong,.cct-observation span { display:block; }
.cct-observation strong { color:var(--heading); font-size:.92rem; }
.cct-observation span { margin-top:5px; color:var(--muted); font-size:.8rem; }
.cct-outcomes { grid-template-columns:repeat(2,minmax(0,1fr)); margin:16px 0 0; }
.cct-case-steps { margin:17px 0; padding:0; list-style:none; counter-reset:cctcase; }
.cct-case-steps li { counter-increment:cctcase; margin:0 0 9px; padding:13px 16px 13px 44px; position:relative; border-radius:12px; background:var(--surface-2); line-height:1.7; }
.cct-case-steps li::before { content:counter(cctcase); position:absolute; top:13px; left:14px; display:grid; place-items:center; width:21px; height:21px; border-radius:50%; background:var(--brand); color:#fff; font-size:.75rem; font-weight:800; }
.cct-note-example { padding:17px 20px; border:1px solid var(--border); border-radius:16px; background:var(--surface-2); }
.cct-note-example p { margin:0 0 7px; font-size:.96rem; }
.cct-source-list { margin:14px 0 !important; }
@media (max-width:900px) {
  .cct-feedback-pair { grid-template-columns:1fr; }
  .cct-feedback-pair > div { max-width:620px; }
}
@media (max-width:700px) {
  .cct-ripple-pair,.cct-interruption-grid,.cct-method-branches,.cct-choice-grid,.cct-outcomes,.cct-method-pair { grid-template-columns:1fr; }
  .cct-interruptions { padding:15px; }
  .cct-method-map { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cct-method-rule,.cct-observation { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:560px) {
  .cct-feedback { padding:12px; }
  .cct-feedback-steps { margin-left:9px; padding-left:13px; }
  .cct-feedback-steps li { gap:8px; padding:11px 10px; }
  .cct-feedback-steps li::before { left:-22px; }
  .cct-feedback-steps strong { font-size:.94rem; }
  .cct-feedback-steps small { font-size:.81rem; }
  .cct-feedback-return { margin-left:9px; padding-left:13px; }
  .cct-method-map span,.cct-method-rule span { padding:10px; font-size:.8rem; }
  .cct-method-map span { padding-left:27px; }
}

.cct-interruption-flow { display:grid; gap:9px; margin:16px 0; }
.cct-interruption-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; align-items:stretch; }
.cct-interruption-row > * { position:relative; display:grid; place-items:center; min-width:0; padding:12px 14px; border:1px solid var(--border); border-radius:12px; background:#fff; color:var(--heading); font-size:.85rem; line-height:1.5; text-align:center; }
.cct-interruption-row > *:not(:last-child)::after { content:"→"; position:absolute; right:-19px; top:50%; transform:translateY(-50%); color:var(--brand); font-size:1.1rem; font-weight:850; }
.cct-interruption-row .is-negative { border-color:#d9aaa4; background:#fbefed; }
.cct-interruption-row .is-positive { border-color:#acd0b7; background:#edf7ef; }
@media (max-width:560px) {
  .cct-interruption-row { grid-template-columns:1fr; gap:15px; }
  .cct-interruption-row > * { padding:9px 12px; }
  .cct-interruption-row > *:not(:last-child)::after { content:"↓"; right:auto; top:auto; left:50%; bottom:-17px; transform:translateX(-50%); }
}

.cct-amplification-note { margin:20px 0 0; padding:14px 18px; border-left:4px solid var(--brand-2); border-radius:12px; background:var(--surface-2); line-height:1.8; }
.cct-ripple-tags span:not(:last-child)::after { content:" →"; margin-left:6px; color:var(--brand); font-weight:800; }


/* Page-level cycle themes: keep CCT's neutral teal for the framework,
   but make dissonance and resolution immediately distinguishable. */
.theme-dissonance { --cycle-theme:#a65349; --cycle-theme-strong:#8f4038; --cycle-theme-soft:#fbefed; --cycle-theme-border:#e2b9b4; }
.theme-resolution { --cycle-theme:#3f7d58; --cycle-theme-strong:#326747; --cycle-theme-soft:#edf7ef; --cycle-theme-border:#b8d8c1; }

.theme-dissonance .guide-hero,
.theme-resolution .guide-hero {
  background:
    radial-gradient(circle at 88% 18%, color-mix(in srgb,var(--cycle-theme) 12%,transparent), transparent 34%),
    linear-gradient(120deg,var(--cycle-theme-soft),#fffdf8 74%);
  border-color:var(--cycle-theme-border);
}
.theme-dissonance .guide-hero .concept-kicker,
.theme-resolution .guide-hero .concept-kicker,
.theme-dissonance .guide-orientation-label,
.theme-resolution .guide-orientation-label,
.theme-dissonance .guide-jump a,
.theme-resolution .guide-jump a,
.theme-dissonance .guide-links a,
.theme-resolution .guide-links a {
  color:var(--cycle-theme-strong);
}
.theme-dissonance .guide-orientation,
.theme-resolution .guide-orientation {
  border-left:4px solid var(--cycle-theme);
  background:linear-gradient(110deg,var(--cycle-theme-soft),var(--surface-2) 78%);
}
.theme-dissonance .guide-taxonomy-icon,
.theme-resolution .guide-taxonomy-icon {
  background:var(--cycle-theme-soft);
  color:var(--cycle-theme);
}
.theme-dissonance .guide-taxonomy-number,
.theme-resolution .guide-taxonomy-number,
.theme-dissonance .guide-taxonomy-clue strong,
.theme-resolution .guide-taxonomy-clue strong {
  color:var(--cycle-theme-strong);
}
.theme-dissonance .guide-paths article,
.theme-resolution .guide-paths article {
  border-left-color:var(--cycle-theme);
}
.theme-dissonance .cct-loop-break,
.theme-resolution .cct-loop-break {
  border-left-color:var(--cycle-theme);
}
