/* DotConn color roles. Paint only: no type, geometry, layout or motion rules. */
:root{
 --brand-solid:#F8B414;--yellow:var(--brand-solid);
 --brand-gradient-dark:linear-gradient(105deg, #E79B00 0%, #F8B414 47%, #FFE4A3 100%);
 --brand-gradient-light:linear-gradient(105deg, #FF9800 0%, #F8B414 32%, #F8B414 52%, #FFD600 100%);
 --cloud-dark:#77B5FF;--cloud-light:#245BB5;
 --cloud-gradient-dark:linear-gradient(105deg, #3D83E8 0%, #77B5FF 47%, #BCDFFF 100%);
 --cloud-gradient-light:linear-gradient(105deg, #245BB5 0%, #3E7DE0 47%, #5C98ED 100%);
 --security-dark:#59D7D0;--security-light:#007A76;
 --security-gradient-dark:linear-gradient(105deg, #16A6A0 0%, #59D7D0 47%, #B0F0EB 100%);
 --security-gradient-light:linear-gradient(105deg, #007A76 0%, #089D97 47%, #1CB2A8 100%);
 --ai-dark:#B69CFF;--ai-light:#6842B8;
 --ai-gradient-dark:linear-gradient(105deg, #8457E8 0%, #B69CFF 47%, #D8C8FF 100%);
 --ai-gradient-light:linear-gradient(105deg, #6842B8 0%, #8B59D8 47%, #A478EF 100%);
 --operations-dark:#FFAA73;--operations-light:#9B4B15;
 --operations-gradient-dark:linear-gradient(105deg, #DA7840 0%, #FFAA73 47%, #FFD7B9 100%);
 --operations-gradient-light:linear-gradient(105deg, #C45D24 0%, #E98639 47%, #F4A04F 100%);
 --teams-dark:#F39AC7;--teams-light:#9A3867;
 --teams-gradient-dark:linear-gradient(105deg, #CF6DAB 0%, #F39AC7 47%, #FFD1E8 100%);
 --teams-gradient-light:linear-gradient(105deg, #A9447A 0%, #CD659D 47%, #E185B3 100%);
}
:root,[data-theme="dark"],.surface-dark{
 color-scheme:dark;--bg:#080808;--surface:#171717;--ink:#F3F3F3;--heading:#F3F3F3;--muted:#ABABAB;--soft:#8B8B8B;--line:#ffffff1b;
 --brand-gradient:var(--brand-gradient-dark);
 --status-success:#66DC99;--status-danger:#FF8585;--status-info:#77B5FF;--status-warning:#F8B414;
 --cloud-solid:var(--cloud-dark);--cloud-gradient:var(--cloud-gradient-dark);
 --security-solid:var(--security-dark);--security-gradient:var(--security-gradient-dark);
 --ai-solid:var(--ai-dark);--ai-gradient:var(--ai-gradient-dark);
 --operations-solid:var(--operations-dark);--operations-gradient:var(--operations-gradient-dark);
 --teams-solid:var(--teams-dark);--teams-gradient:var(--teams-gradient-dark);
}
[data-theme="light"],.surface-light{
 color-scheme:light;--bg:#FFFFFF;--surface:#F3F4F5;--ink:#242424;--heading:#202020;--muted:#505050;--soft:#606060;--line:#00000024;
 --brand-gradient:var(--brand-gradient-light);
 --status-success:#167443;--status-danger:#B52C3C;--status-info:#245BB5;--status-warning:#916000;
 color:var(--ink);background-color:var(--bg);
 --cloud-solid:var(--cloud-light);--cloud-gradient:var(--cloud-gradient-light);
 --security-solid:var(--security-light);--security-gradient:var(--security-gradient-light);
 --ai-solid:var(--ai-light);--ai-gradient:var(--ai-gradient-light);
 --operations-solid:var(--operations-light);--operations-gradient:var(--operations-gradient-light);
 --teams-solid:var(--teams-light);--teams-gradient:var(--teams-gradient-light);
}
[data-theme="dark"],.surface-dark{color:var(--ink);background-color:var(--bg)}
[data-practice="cloud"]{
 --practice-color:var(--cloud-solid);--practice-gradient:var(--cloud-gradient);
 --practice-solid-dark:var(--cloud-dark);--practice-solid-light:var(--cloud-light);
 --practice-gradient-dark:var(--cloud-gradient-dark);--practice-gradient-light:var(--cloud-gradient-light);
}
[data-practice="security"]{
 --practice-color:var(--security-solid);--practice-gradient:var(--security-gradient);
 --practice-solid-dark:var(--security-dark);--practice-solid-light:var(--security-light);
 --practice-gradient-dark:var(--security-gradient-dark);--practice-gradient-light:var(--security-gradient-light);
}
[data-practice="ai"]{
 --practice-color:var(--ai-solid);--practice-gradient:var(--ai-gradient);
 --practice-solid-dark:var(--ai-dark);--practice-solid-light:var(--ai-light);
 --practice-gradient-dark:var(--ai-gradient-dark);--practice-gradient-light:var(--ai-gradient-light);
}
[data-practice="operations"]{
 --practice-color:var(--operations-solid);--practice-gradient:var(--operations-gradient);
 --practice-solid-dark:var(--operations-dark);--practice-solid-light:var(--operations-light);
 --practice-gradient-dark:var(--operations-gradient-dark);--practice-gradient-light:var(--operations-gradient-light);
}
[data-practice="teams"]{
 --practice-color:var(--teams-solid);--practice-gradient:var(--teams-gradient);
 --practice-solid-dark:var(--teams-dark);--practice-solid-light:var(--teams-light);
 --practice-gradient-dark:var(--teams-gradient-dark);--practice-gradient-light:var(--teams-gradient-light);
}
/* A nested surface remaps its inherited topic without recoloring the outer page. */
[data-practice] :is([data-theme="light"],.surface-light){--practice-color:var(--practice-solid-light);--practice-gradient:var(--practice-gradient-light)}
[data-practice] :is([data-theme="dark"],.surface-dark){--practice-color:var(--practice-solid-dark);--practice-gradient:var(--practice-gradient-dark)}
/* Practice color is restricted to contextual icons and hero headline emphasis. */
h1,h2,h3,h4,h5,h6{background-image:none;color:var(--heading);-webkit-text-fill-color:currentColor;text-shadow:none}
.color-emphasis[data-color="brand"]{--emphasis-solid:var(--brand-solid);--emphasis-gradient:var(--brand-gradient)}
.color-emphasis[data-color="practice"]{--emphasis-solid:var(--practice-color,var(--brand-solid));--emphasis-gradient:var(--practice-gradient,var(--brand-gradient))}
/* Brand yellow may remain an explicit display accent; topic hues are hero-only. */
:is(h1,h2,h3,h4,h5,h6) .color-emphasis[data-color="brand"],
:is(.dc-hero-copy,.page-hero) h1 .color-emphasis[data-color="practice"]{color:var(--emphasis-solid)!important;background-color:transparent!important;background-image:none!important;-webkit-text-fill-color:currentColor!important;text-shadow:none;box-shadow:none;-webkit-text-stroke:0 transparent}
:is(h2,h3,h4,h5,h6) .color-emphasis[data-color="practice"],
h1 .color-emphasis[data-color="practice"]{color:inherit!important;background-color:transparent!important;background-image:none!important;-webkit-text-fill-color:currentColor!important;text-shadow:none;box-shadow:none;-webkit-text-stroke:0 transparent}
@supports(background-clip:text){
 :is(h1,h2,h3,h4,h5,h6) .color-emphasis[data-color="brand"],
 :is(.dc-hero-copy,.page-hero) h1 .color-emphasis[data-color="practice"]{background-image:var(--emphasis-gradient)!important;background-size:100% 100%!important;background-repeat:no-repeat!important;background-clip:text!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important}
}
/* Surrounding typography, surfaces and diagram connections stay neutral. */
[data-practice] :is(.topic-label,.deliverable>span,.service-deliverable>span,.workflow-label,.process-list li>span){color:var(--muted)}
[data-practice] .architecture .geo,
[data-practice] .practice-story-capabilities .geo,
.service-card[data-practice]>.geo,
[data-practice] .deliverable-grid .geo,
[data-practice] .ops-visual .geo,
[data-practice] .service-capabilities .geo,
[data-practice] .service-delivery-list .geo{color:var(--practice-color)!important}
[data-practice] .scope-art-svg [data-topic-icon]{color:var(--practice-color)}
[data-practice] .arch-line{background:var(--soft)}
[data-practice] .arch-line::after{background:var(--brand-solid)}
[data-practice] .example-result{border-color:var(--line)}
[data-practice] .flow-route{stroke:var(--ink);stroke-opacity:.14}
[data-practice] .flow-pulse{stroke:var(--brand-solid);filter:drop-shadow(0 0 3px #F8B41460)}
[data-practice] .demo-bar i{background:var(--brand-solid);box-shadow:0 0 8px #F8B41450}
[data-practice] .ops-node.is-reviewing{border-color:#F8B41460}
[data-practice] .table-tag{color:var(--ink);border-color:var(--line);background:transparent}
/* Folder shells use DotConn yellow; inner files and contextual symbols keep their own treatments. */
[data-practice="ai"] .transfer-lines g{stroke:var(--ink);stroke-opacity:.14}
[data-practice="ai"] .transfer-signal{stroke:var(--brand-solid)}
.knowledge-folder .folder-back{background:var(--brand-solid)}
.knowledge-folder .folder-back::before{background:var(--brand-solid)}
.knowledge-folder .folder-front{background:linear-gradient(145deg,#FFC72C,var(--brand-solid));box-shadow:inset 0 1px #FFE4A380,0 4px 7px #0003}
[data-practice="ai"] .knowledge-file{background:linear-gradient(145deg,color-mix(in srgb,var(--ink) 17%,var(--surface)),var(--surface));border-color:var(--line)}
[data-practice="ai"] .knowledge-file .geo{color:var(--practice-color)!important}
[data-practice="ai"] .knowledge-file small{color:var(--ink)}
[data-practice="ai"] .operator-avatar{background:var(--surface);color:var(--ink)}
[data-practice="ai"] .assistant-avatar{background:var(--brand-solid);color:#242424}
/* Status is independent of topic: neutral labels with a colored status indicator. */
[data-status="success"]{--state-color:var(--status-success);--state-surface:transparent;--state-border:var(--line)}
[data-status="info"]{--state-color:var(--status-info);--state-surface:transparent;--state-border:var(--line)}
[data-status="danger"]{--state-color:var(--status-danger);--state-surface:transparent;--state-border:var(--line)}
[data-status="warning"]{--state-color:var(--status-warning);--state-surface:transparent;--state-border:var(--line)}
[data-status].dc-status,.release-evidence .status[data-status],.conversation-result[data-status]{color:var(--ink);border-color:var(--line);background:var(--state-surface)}
:is([data-status].dc-status,.release-evidence .status[data-status],.conversation-result[data-status])::before{content:"";display:inline-block;width:.5em;height:.5em;margin-right:.5em;vertical-align:.05em;border-radius:50%;background:var(--state-color)}
.review-code-lines :is(.code-evidence,.code-result,.code-scope){background:var(--soft)}
.review-code-lines .code-decision{background:var(--brand-solid)}
.reviewer-marker{color:var(--status-info)}.approver-marker{color:var(--status-success)}
.reviewer-label,.approver-marker .reviewer-label,
.ai-reference-workflow[data-question="1"] .approver-marker .reviewer-label{background:var(--surface);color:var(--ink);border-color:var(--line)}
.ai-reference-workflow[data-question="1"] .approver-marker{color:var(--status-warning)}
.ai-reference-workflow[data-question="2"] :is(.code-evidence,.code-result){background:var(--soft)}
.ai-reference-workflow[data-question="2"] .source-server span:first-child::before{background:var(--status-danger)}
/* Rich light-surface icon shades and hero gradients remain exact. */
:is([data-theme="light"],.surface-light) :is(p,.lead,.practice-story-intro,.caption,.ai-reference-copy>p):not(.topic-label){color:var(--muted)}
:is([data-theme="light"],.surface-light) .conversation-bubble{background:#EEEEEE;color:var(--ink)}
:is([data-theme="light"],.surface-light) .conversation-result{color:var(--ink)}
:is([data-theme="light"],.surface-light) :is(.practice-story-visual,.arch-node,.demo,.ai-reference-grid,.review-workspace,.source-server,.service-card,.contact-form,.ops-node,.model-panel){background:var(--surface);border-color:var(--line)}
:is([data-theme="light"],.surface-light) :is(.arch-node strong,.practice-story-capabilities h4){color:var(--ink)}
@media(forced-colors:active){
 :is(h1,h2,h3,h4,h5,h6) .color-emphasis[data-color]{background-image:none!important;color:CanvasText!important;-webkit-text-fill-color:CanvasText!important}
 :is([data-status].dc-status,.release-evidence .status[data-status],.conversation-result[data-status])::before{background:CanvasText}
}
/* Light controls retain the existing hierarchy with readable neutral lettering. */
:is([data-theme="light"],.surface-light) .dc-glow-button{color:var(--ink)!important}
:is([data-theme="light"],.surface-light) .dc-glow-button.secondary{color:var(--ink)!important;background:linear-gradient(110deg,#00000004,#0000000c)!important;border-color:#00000030!important;box-shadow:inset 0 1px #ffffffb3,0 2px 6px #00000010}
:is([data-theme="light"],.surface-light) .dc-glow-button.secondary:hover,
:is([data-theme="light"],.surface-light) .dc-glow-button.secondary:focus-visible{background:linear-gradient(110deg,#00000008,#00000014)!important;border-color:#00000055!important}
:is([data-theme="light"],.surface-light) .dc-glow-button:is(.primary,.dc-primary,.dc-cta){color:var(--ink)!important;background:linear-gradient(135deg,#F8B41424,#F8B41412 48%,#F8B41424)!important;border-color:var(--brand-solid)!important;box-shadow:inset 0 1px #ffffffcc,inset 0 -1px #F8B41440,0 6px 24px #00000012}
:is([data-theme="light"],.surface-light) .dc-glow-button:is(.primary,.dc-primary,.dc-cta):hover,
:is([data-theme="light"],.surface-light) .dc-glow-button:is(.primary,.dc-primary,.dc-cta):focus-visible{background:linear-gradient(135deg,#F8B41438,#F8B4141c 48%,#F8B41430)!important;border-color:var(--brand-solid)!important}
:is([data-theme="light"],.surface-light) .contact-form label{color:var(--ink)}
:is([data-theme="light"],.surface-light) .contact-form :is(input,select,textarea){color:var(--ink);background:#FFFFFF;border-color:var(--line)}
:is([data-theme="light"],.surface-light) .contact-form :is(input,textarea)::placeholder{color:var(--soft)}
