.cdf-forum{--cdf-green:#116847;--cdf-dark:#10291f;--cdf-muted:#57635d;max-width:1040px;margin:1.5rem auto;color:#1e2e25;font-family:system-ui,sans-serif;line-height:1.6}.cdf-hero{padding:2.2rem 2rem;background:var(--cdf-dark);color:#f4fff8;border-radius:12px;border-top:4px solid #42dc88}.cdf-eyebrow{font:700 .8rem monospace;letter-spacing:.12em;color:#70e5a3}.cdf-hero h1{font-size:clamp(1.8rem,5vw,2.7rem);color:inherit;margin:.3rem 0}.cdf-profile-link{color:#b5ffd3;text-decoration:underline}.cdf-nav{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.2rem 0 1.8rem}.cdf-nav a{padding:.55rem .9rem;border:1px solid #c5d5cb;border-radius:30px;color:var(--cdf-dark);background:#fff;text-decoration:none}.cdf-nav a[aria-current]{background:var(--cdf-green);color:#fff;border-color:var(--cdf-green)}.cdf-card,.cdf-compose{background:#fff;border:1px solid #d1ddd5;border-radius:10px;padding:1.4rem;margin:1rem 0;box-shadow:0 3px 12px #183c2510;min-width:0}.cdf-card h2{font-size:1.3rem;margin:0 0 .5rem}.cdf-card a{color:#116447}.cdf-meta{font-size:.85rem;color:var(--cdf-muted)}.cdf-body{margin:.8rem 0;overflow-wrap:anywhere;white-space:normal}.cdf-tag{font-weight:600}.cdf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.cdf-grid .cdf-card{margin:0}.cdf-form label{display:block;font-weight:600;margin:.7rem 0 .3rem}.cdf-form input:not([type=hidden]),.cdf-form textarea,.cdf-form select,.cdf-search input{width:100%;padding:.65rem;border:1px solid #8ea699;border-radius:6px;background:#fff;color:#1e2e25;box-sizing:border-box;max-width:100%;font:inherit}.cdf-form textarea{resize:vertical}.cdf-button{display:inline-block;padding:.55rem 1rem;margin:.8rem .4rem .3rem 0;border:1px solid var(--cdf-green);border-radius:6px;background:var(--cdf-green);color:white;text-decoration:none;font:inherit;cursor:pointer}.cdf-danger{background:white;color:#972b2b;border-color:#b99a9a}.cdf-forum summary{font-weight:600;cursor:pointer;padding:.3rem 0}.cdf-report{font-size:.9rem;margin:.5rem 0}.cdf-note,.cdf-empty{padding:1rem;background:#edf6f0;border-radius:6px}.cdf-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.cdf-row .cdf-form{display:inline-block}.cdf-message{display:flex;justify-content:space-between;gap:1rem;text-decoration:none;flex-wrap:wrap}.cdf-pagination{display:flex;gap:1.5rem;justify-content:center;margin:2rem 0}.cdf-forum :focus-visible{outline:3px solid #248e64;outline-offset:3px}.cdf-hero :focus-visible{outline-color:#8df5b7}.cdf-search{display:flex;align-items:end;gap:.6rem;flex-wrap:wrap;margin-bottom:1.5rem}.cdf-search label{flex-basis:100%}.cdf-search input{flex:1;min-width:10rem}.cdf-search .cdf-button{margin:0}.cdf-filter{font-weight:600}@media(max-width:650px){.cdf-grid{grid-template-columns:1fr}.cdf-hero{padding:1.5rem 1.2rem}.cdf-card,.cdf-compose{padding:1rem}.cdf-nav a{font-size:.9rem;padding:.4rem .65rem}.cdf-pagination{gap:1rem}.cdf-forum{margin:1rem 0}}

.cdf-body pre{white-space:pre;overflow:auto;background:#10291f;color:#b5ffd3;padding:1rem;border-radius:6px}.cdf-body blockquote{border-left:3px solid #168449;padding-left:1rem}.cdf-attachment{display:block;max-width:100%;max-height:480px;object-fit:contain;margin:1rem 0}

.cdf-forum{color:#dcf5e4;background:#071f12;padding:1rem;border-radius:10px}.cdf-forum a{color:#8ef0b4}.cdf-forum input:not([type=checkbox]),.cdf-forum textarea,.cdf-forum select{background:#fff;color:#18271e}.cdf-forum label{color:inherit}.cdf-forum :is(.cdf-card,details){color:#18271e;background:#fff}.cdf-forum :is(.cdf-card,details) :is(p,label,dt,dd,small){color:#18271e}.cdf-forum :is(.cdf-card,details) a{color:#125c39}

.cdf-forum :is(.cdf-card,.cdf-compose,.cdf-note,.cdf-empty){color:#18271e}.cdf-forum :is(.cdf-card,.cdf-compose,.cdf-note,.cdf-empty) :is(p,label,h2,h3,summary){color:#18271e}.cdf-forum .cdf-nav a{color:#10291f}.cdf-forum .cdf-nav a[aria-current]{color:#fff}.cdf-forum a.cdf-button{color:#fff}.cdf-forum a.cdf-danger{color:#972b2b}

/* Topic messages: component-scoped 3270 presentation, independent of Joomla chrome. */
.cdf-forum.cd-interface .cdf-post{display:grid;grid-template-columns:150px minmax(0,1fr);gap:1.5rem;padding:1.25rem;background:#08251c;color:#d9f4e4;border:1px solid #326148;box-shadow:none}
.cdf-forum.cd-interface .cdf-post :is(p,div,span,li,strong,em,cite,small,summary,label,h2,h3,h4){color:inherit}
.cdf-forum.cd-interface .cdf-post a{color:#98efbc}.cdf-forum.cd-interface .cdf-post details{background:#0d3025;color:#d9f4e4;padding:.6rem;border:1px solid #326148;border-radius:6px;margin:.7rem 0}
.cdf-post-author{display:flex;flex-direction:column;align-items:center;gap:.7rem;text-align:center;overflow-wrap:anywhere}.cdf-author-name{font:700 1.1rem ui-monospace,monospace}.cdf-author-avatar,.cdf-author-placeholder{width:104px;height:104px;border-radius:12px;object-fit:cover;background:#102f25;border:1px solid #74c99b}.cdf-author-placeholder{display:grid;place-items:center;font:2rem monospace}.cdf-author-badge{padding:.2rem .6rem;border:1px solid #74c99b;border-radius:4px;font:.75rem ui-monospace,monospace;text-transform:uppercase}.cdf-post-author .cdf-author-tagline{font-size:.85rem;margin:0}.cdf-post-content{min-width:0;border-left:1px solid #326148;padding-left:1.5rem}.cdf-post-header{display:flex;justify-content:space-between;align-items:start;gap:1rem;border-bottom:1px solid #326148;padding-bottom:.65rem}.cdf-post-header p{margin:.2rem 0}.cdf-post .cdf-body{line-height:1.8;margin:1.25rem 0}.cdf-body :is(ul,ol){padding-left:1.8rem;margin:.8rem 0}.cdf-body li{padding-left:.25rem}.cdf-body blockquote cite{display:block;font-weight:bold;margin-bottom:.5rem}
.cd-interface .cdf-code-block{margin:1rem 0;border:1px solid #397652;border-radius:8px;background:#04180f;color:#b4f4c6;overflow:hidden;min-width:0}.cd-interface .cdf-code-block figcaption{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;padding:.65rem 1rem;background:#103326;color:#b4f4c6;font:700 .9rem ui-monospace,monospace}.cdf-code-tools{display:flex;flex-wrap:wrap;gap:.4rem}.cd-interface .cdf-code-tools button{color:#c7f7d7;background:#0a281c;border:1px solid #548368;border-radius:5px;padding:.4rem .65rem;font:inherit;font-size:.8rem;cursor:pointer}.cd-interface .cdf-code-tools button[aria-pressed=true]{background:#28623f}.cd-interface .cdf-code-block pre{border:0;border-radius:0;margin:0;padding:1rem;max-width:100%;overflow:auto;white-space:pre;background:#04180f;color:#b4f4c6;tab-size:4}.cd-interface .cdf-code-block pre code{background:transparent;color:inherit;font: .95rem/1.8 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:inherit;padding:0}.cd-interface .cdf-code-block.cdf-code-wrap pre{white-space:pre-wrap;overflow-wrap:anywhere}.cd-interface .cdf-code-block .cdf-code-status{font-size:.8rem;color:#b4f4c6;margin:0;padding:0 1rem}.cdf-code-status:empty{display:none}.cdf-table-scroll{overflow:auto}.cdf-body table{border-collapse:collapse}.cdf-body :is(td,th){padding:.5rem;border:1px solid #548368}.cdf-align-center{text-align:center}.cdf-align-left{text-align:left}.cdf-align-right{text-align:right}.cdf-align-justify{text-align:justify}
@media(max-width:700px){.cdf-forum.cd-interface .cdf-post{grid-template-columns:minmax(0,1fr);gap:1rem}.cdf-post-author{flex-direction:row;flex-wrap:wrap;justify-content:start;text-align:left}.cdf-author-avatar,.cdf-author-placeholder{width:52px;height:52px;order:-1}.cdf-post-author .cdf-author-tagline{flex-basis:100%}.cdf-post-content{border-left:0;border-top:1px solid #326148;padding:1rem 0 0}}

.cdf-forum.cd-interface .cdf-code-block :is(figcaption,span,div){color:#b4f4c6}

/* Local contrast variables also correct inherited Core card colors on dark messages. */
.cdf-forum.cd-interface .cdf-post{--cd-ink:#e0f5e8;--cd-muted:#bdd7c7;color:#e0f5e8}
.cdf-forum.cd-interface .cdf-post .cdf-body,.cdf-forum.cd-interface .cdf-post .cdf-body :is(p,div,span,li,strong,em,b,i,u,s,blockquote,cite,td,th,h3,h4,h5){color:#e0f5e8!important}
.cdf-forum.cd-interface .cdf-post .cdf-body a{color:#a0f4c0!important;text-decoration:underline}
.cdf-forum.cd-interface .cdf-post .cdf-body :is(pre,code){color:#c0ffd5!important;background:#04180f}
.cdf-forum.cd-interface .cdf-post :is(.cdf-meta,.cdf-author-tagline){color:#bdd7c7}
.cdf-forum.cd-interface .cdf-editor-help{color:#344f40;font-size:.9rem}
.cdf-forum.cd-interface>.cdf-form .cd-meta{color:#bdd7c7}
.cdf-forum.cd-interface .cdf-native-editor{min-width:0;color:#182c23}
.cdf-forum.cd-interface .cdf-code-insert{margin:.8rem 0;background:#eff7f1;border:1px solid #96b6a0;border-radius:8px;padding:.6rem 1rem;color:#182c23}
.cdf-forum.cd-interface .cdf-code-insert textarea{font: .95rem/1.6 ui-monospace,Consolas,monospace;white-space:pre;tab-size:4}
.cdf-forum.cd-interface .cdf-code-insert [role=status]{color:#254a35}
.cdf-forum.cd-interface .tox{max-width:100%;min-width:0}
.cdf-forum.cd-interface .tox :is(.tox-tbtn,.tox-mbtn){margin:0;min-height:34px;padding:0 4px;border:0;border-radius:3px;background:transparent;color:#222f3e;font:normal 14px system-ui}
.cdf-forum.cd-interface .tox :is(.tox-tbtn,.tox-mbtn):hover{background:#dce7ef;color:#222f3e}
.cdf-forum.cd-interface .tox .tox-statusbar button{margin:0;min-height:0;padding:0;border:0;background:transparent;color:#405568;font:normal 12px system-ui}
.cdf-forum.cd-interface .cdf-edit{--cd-ink:#182c23;--cd-muted:#42594b}
/* Retain user color choices as readable pale accents on the dark message background. */
.cdf-forum.cd-interface .cdf-post .cdf-body span[data-cdf-color]{color:color-mix(in srgb,var(--cdf-color) 35%,#e0f5e8 65%)!important}

/* Explicit contrast for message chrome: inherited template/Core colors must not darken it. */
.cdf-forum.cd-interface article.cdf-post .cdf-post-content,
.cdf-forum.cd-interface article.cdf-post .cdf-post-author,
.cdf-forum.cd-interface article.cdf-post .cdf-post-author :is(p,span,strong,small),
.cdf-forum.cd-interface article.cdf-post .cdf-post-header :is(div,p,strong,span,small),
.cdf-forum.cd-interface article.cdf-post .cdf-thanks :is(span,strong,small),
.cdf-forum.cd-interface article.cdf-post details,
.cdf-forum.cd-interface article.cdf-post details :is(summary,p,label,small,span){color:#dcf5e4!important}
.cdf-forum.cd-interface article.cdf-post .cdf-post-header{background:#0a2a20!important;color:#dcf5e4!important;border:1px solid #37644d;border-radius:6px;padding:.75rem 1rem}
.cdf-forum.cd-interface article.cdf-post .cdf-post-header .cdf-meta,
.cdf-forum.cd-interface .cdf-topic-state{color:#c4dfce!important}
.cdf-forum.cd-interface article.cdf-post .cdf-author-badge{background:#12432f!important;color:#d9ffe7!important;border-color:#72d79b}
.cdf-forum.cd-interface article.cdf-post details>summary::marker{color:#9ef2bb!important}
.cdf-forum.cd-interface article.cdf-post details form :is(input:not([type=hidden]):not([type=checkbox]),textarea,select){background:#fff!important;color:#182c23!important}
.cdf-forum.cd-interface .cdf-topic-actions{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.6rem;margin:1rem 0}
.cdf-forum.cd-interface .cdf-topic-actions>form{display:inline-flex;margin:0;padding:0}
.cdf-forum.cd-interface .cdf-topic-actions>form>button{margin:0;min-height:44px}
.cdf-forum.cd-interface .cdf-topic-actions .cdf-topic-editor{background:transparent;border:0;padding:0;margin:0;color:#dcf5e4;min-width:0}
.cdf-forum.cd-interface .cdf-topic-editor>summary{display:list-item;list-style-position:inside;padding:.65rem 1rem;margin:0;border:1px solid #168459;border-radius:9px;background:#08764e;color:white!important;min-height:44px;box-sizing:border-box;font:650 .95rem system-ui;cursor:pointer}
.cdf-forum.cd-interface .cdf-topic-editor[open]{flex-basis:100%;order:1}
.cdf-forum.cd-interface .cdf-topic-editor[open]>summary{width:fit-content}
.cdf-forum.cd-interface .cdf-topic-edit-fields{padding:1rem;margin-top:.6rem;border:1px solid #cbded1;border-radius:9px;background:#fbfdfb;color:#182c23}
.cdf-forum.cd-interface .cdf-topic-edit-fields :is(label,p){color:#182c23!important}
.cdf-forum.cd-interface article.cdf-post .cdf-thanks{display:flex;align-items:center;flex-wrap:wrap;gap:.7rem;border-top:1px solid #37644d;margin:1rem 0;padding:.8rem 0;color:#dcf5e4}
.cdf-forum.cd-interface .cdf-thanks form{margin:0;display:inline-flex}.cdf-forum.cd-interface .cdf-thanks button{margin:0}
.cdf-forum.cd-interface .cdf-thanks button[aria-pressed=true]{background:#155c3e;border-color:#8fe9b4}
.cdf-forum.cd-interface .cdf-thanks small{flex-basis:100%}

/* COBOL source view in the LAB palette. Inline token backgrounds are always transparent. */
.cdf-forum.cd-interface article.cdf-post .cdf-code-block pre,
.cdf-forum.cd-interface .cdf-code-block pre{background:#000!important;color:#39ff88!important;font:14px/1.65 "Courier New",Consolas,monospace!important;white-space:pre!important;overflow:auto;tab-size:4;border-radius:0!important}
.cdf-forum.cd-interface article.cdf-post .cdf-code-block pre code,
.cdf-forum.cd-interface .cdf-code-block pre code{display:block;min-width:max-content;background:transparent!important;color:#39ff88!important;font:inherit!important;line-height:inherit!important;white-space:inherit!important;padding:0!important;margin:0!important;border:0!important;box-shadow:none!important}
.cdf-forum.cd-interface .cdf-code-block pre code span{background:transparent!important;font-family:inherit!important;line-height:inherit!important;padding:0!important;margin:0!important;border:0!important;box-shadow:none!important}
.cdf-forum.cd-interface article.cdf-post .cdf-code-block pre code .cdf-syntax-keyword,
.cdf-forum.cd-interface .cdf-code-block pre code .cdf-syntax-keyword{color:#ff6262!important;font-weight:700}
.cdf-forum.cd-interface article.cdf-post .cdf-code-block pre code .cdf-syntax-identifier,
.cdf-forum.cd-interface .cdf-code-block pre code .cdf-syntax-identifier{color:#39ff88!important}
.cdf-forum.cd-interface article.cdf-post .cdf-code-block pre code .cdf-syntax-comment,
.cdf-forum.cd-interface .cdf-code-block pre code .cdf-syntax-comment{color:#e8e8e8!important;font-style:italic}
.cdf-forum.cd-interface article.cdf-post .cdf-code-block pre code .cdf-syntax-literal,
.cdf-forum.cd-interface .cdf-code-block pre code .cdf-syntax-literal{color:#ffe08a!important}
.cdf-forum.cd-interface article.cdf-post .cdf-code-block pre code .cdf-syntax-number,
.cdf-forum.cd-interface .cdf-code-block pre code .cdf-syntax-number{color:#82dfff!important}
.cdf-forum.cd-interface .cdf-code-block.cdf-code-wrap pre{white-space:pre-wrap!important}
.cdf-forum.cd-interface .cdf-code-block.cdf-code-wrap pre code{min-width:0;overflow-wrap:anywhere}
@media(max-width:600px){.cdf-forum.cd-interface .cdf-topic-actions>*{max-width:100%}.cdf-forum.cd-interface .cdf-topic-actions>form{flex:1 1 auto}.cdf-forum.cd-interface .cdf-topic-actions>form>button{width:100%}}

/* Descendants stay visually attached to the correct parent at every visible level. */
.cdf-forum.cd-interface .cd-category-row.cd-category-sub{padding-left:calc(1.2rem + var(--cdf-category-depth,1)*1.1rem)}

.cdf-forum.cd-interface .cdf-category-heading{margin:1.25rem 0;color:#e0f5e8}.cdf-forum.cd-interface .cdf-category-heading :is(h2,p){color:#e0f5e8}.cdf-forum.cd-interface .cdf-category-heading>a{color:#9cecbc}
