/* Consense interaction primitives. Explicit roles; no automatic icon decoration. */
:root{--action-height:48px;--action-pad:14px 20px;--action-gap:12px;--action-ink:#2B2E31;--action-fill:#F0F1EF;--action-radius:0;--action-focus:2px solid var(--theme-fg,#2B2E31)}
:root[data-theme=dark]{--action-ink:#F0F1EF;--action-fill:#2B2E31}
:root body [data-consense-action]{box-sizing:border-box;border-radius:var(--action-radius);font:500 14px/1.4 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:0;text-transform:none;box-shadow:none;transform:none;transition:background-color .15s,color .15s,border-color .15s;cursor:pointer;-webkit-tap-highlight-color:transparent}
:root body :is([data-consense-action=primary],[data-consense-action=secondary]){display:inline-flex;align-items:center;justify-content:center;gap:var(--action-gap);min-height:var(--action-height);padding:var(--action-pad);border:1px solid var(--action-ink);text-decoration:none;white-space:normal;text-align:center}
:root body [data-consense-action=primary]{background:var(--action-ink);color:var(--action-fill)}
:root body [data-consense-action=primary]:hover{background:color-mix(in srgb,var(--action-ink) 86%,var(--action-fill));border-color:var(--action-ink);color:var(--action-fill);text-decoration:none}
:root body [data-consense-action=secondary]{background:transparent;color:var(--action-ink)}
:root body [data-consense-action=secondary]:hover{background:color-mix(in srgb,var(--action-ink) 8%,transparent);color:var(--action-ink);text-decoration:none}
:root body [data-consense-action=text]{display:inline-flex;align-items:center;gap:8px;padding:2px 0;border:0;background:transparent;color:var(--theme-fg,#2B2E31);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
:root body [data-consense-action=text]:hover{text-decoration-thickness:2px;color:var(--theme-fg,#2B2E31)}
:root body [data-consense-action=nav]{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;background:transparent;border:0;color:var(--theme-fg,#2B2E31);text-decoration:none}
:root body [data-consense-action=nav]:is(:hover,:focus-visible,[aria-current=page]){text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
:root body [data-consense-action=icon]{display:inline-flex;align-items:center;justify-content:flex-start;min-width:44px;min-height:44px;padding:0;border:0;background:transparent;color:var(--theme-fg,#2B2E31);text-decoration:none}
:root body [data-consense-action=icon]:hover{opacity:.7}
:root body [data-consense-action=download]{color:var(--theme-fg,#2B2E31);text-decoration:none;background:transparent}
:root body [data-consense-action=download]:hover .download-action{text-decoration-thickness:2px}
:root body [data-consense-action]:focus-visible{outline:var(--action-focus)!important;outline-offset:4px!important}
:root body [data-consense-action]:disabled{background:color-mix(in srgb,var(--action-ink) 12%,var(--theme-canvas,#fff));border-color:var(--theme-line,#DCDDD9);color:var(--theme-muted,#5F6062);cursor:not-allowed;opacity:1}
.c-icon{display:inline-block;flex:0 0 18px;width:18px;height:18px;vertical-align:-.2em;transform:none!important;transition:none!important}
/* The shared header and footer carry navigation and icon roles without page-specific variants. */
:root body .consense-header-cta{min-height:44px;background:var(--action-ink);border-color:var(--action-ink);color:var(--action-fill)}
:root body .consense-header-cta:hover{background:color-mix(in srgb,var(--action-ink) 86%,var(--action-fill));color:var(--action-fill)}
:root body .consense-footer-link{min-height:44px}
:root body .consense-footer-link:focus-visible{text-decoration:underline;text-underline-offset:4px}
:root body .consense-footer-contact a[aria-label*="LinkedIn"]{justify-content:flex-start;min-width:44px;min-height:44px}
/* Explicit adapters for the current homepage, avoiding form/editor controls. */
:root body .home-actions :is(.home-primary,.home-secondary){min-height:var(--action-height);gap:var(--action-gap);padding:var(--action-pad);border-radius:0;font:500 14px/1.4 "Helvetica Neue",Helvetica,Arial,sans-serif;transform:none!important;box-shadow:none}
:root body .home-actions .home-primary{background:var(--action-ink)!important;color:var(--action-fill)!important;border:1px solid var(--action-ink)!important;text-decoration:none}
:root body .home-actions .home-secondary{background:transparent!important;color:var(--action-ink)!important;border:1px solid var(--action-ink)!important;text-decoration:none}
:root body .home-actions .home-primary:hover{background:color-mix(in srgb,var(--action-ink) 86%,var(--action-fill))!important}
:root body .home-actions .home-secondary:hover{background:color-mix(in srgb,var(--action-ink) 8%,transparent)!important}
.kit-home-resource{max-width:1240px;margin:0 auto;padding:60px clamp(20px,4vw,40px);border-top:1px solid var(--theme-line,#DCDDD9)}
.kit-home-resource h2{font-size:clamp(30px,4vw,44px);line-height:1.12;letter-spacing:-.03em;margin:14px 0 18px;font-weight:500}.kit-home-resource p:not(.eyebrow){font-size:17px;line-height:1.6;max-width:55ch;margin:0 0 22px}
.c-system-review{max-width:1080px;margin:auto;padding:64px clamp(20px,4vw,40px);font:16px/1.6 "Helvetica Neue",Helvetica,Arial,sans-serif;color:var(--theme-fg,#2B2E31)}.interaction-review{margin:0;background:var(--theme-canvas,#fff)}.c-system-review h1{font-size:clamp(36px,5vw,56px);letter-spacing:-.035em;line-height:1.1;font-weight:500;margin:20px 0}.c-review-intro{font-size:21px;max-width:55ch}.c-label{font:11px/1.5 'DM Mono',monospace;letter-spacing:.1em;text-transform:uppercase}.c-system-review section{padding:32px 0;border-top:1px solid var(--theme-line,#ddd);margin-top:32px}.c-system-review h2{font-size:26px;font-weight:500;margin:0 0 12px;letter-spacing:-.025em}.c-system-review section>p{max-width:68ch;color:var(--theme-muted,#5F6062)}.c-examples{display:flex;flex-wrap:wrap;gap:24px;align-items:center;margin-top:26px}
@media(prefers-reduced-motion:reduce){:root body [data-consense-action]{transition:none}}
.c-system-dialog{width:min(860px,94vw);max-height:90vh;padding:0;border:1px solid var(--theme-line,#DCDDD9);background:#fff;color:#2B2E31;overflow:auto}.c-system-dialog::backdrop{background:#0009}.c-system-dialog>div{position:sticky;top:0;background:var(--theme-canvas,#fff);color:var(--theme-fg,#2B2E31);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 20px;border-bottom:1px solid var(--theme-line,#DCDDD9)}.c-system-dialog h2{margin:0;font-size:18px}.c-system-dialog img{display:block;width:100%;height:auto}

/* Sitewide adapters: semantic controls keep processing and selection states. */
:root body [data-consense-surface=dark]{--action-ink:#F0F1EF;--action-fill:#2B2E31;--theme-fg:#F0F1EF;--action-focus:2px solid #F0F1EF}
:root body [data-consense-action]:is(:hover,:active){transform:none!important;box-shadow:none}
:root body [data-consense-action=card]{font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}
:root body [data-consense-action=card]:focus-visible{outline:var(--action-focus)!important;outline-offset:4px!important}
:root body [data-consense-action=card] :is(.go,.case-cta,.experiment-cta,.cta){display:inline-flex;align-items:center;gap:8px}
:root body [data-consense-action=card]:hover :is(.go,.case-cta,.experiment-cta,.cta){text-decoration:underline;text-underline-offset:4px}
:root body :is(p,li)>a[data-consense-action=text]{display:inline}
:root body [data-consense-action=toggle]{min-height:44px;padding:10px 14px;border:1px solid var(--theme-line,#DCDDD9);background:transparent;color:var(--theme-fg,#2B2E31);text-decoration:none}
:root body [data-consense-action=toggle]:is([aria-pressed=true],[aria-selected=true],.active,.on){border-color:var(--action-ink);background:var(--action-ink);color:var(--action-fill)}
:root body [data-consense-action=toggle]:hover{border-color:var(--action-ink)}
:root body [data-consense-action=utility]{min-width:44px;min-height:44px;border-radius:0;text-decoration:none}
:root body [data-consense-action=disclosure]{min-height:44px;text-decoration:none}
:root body details:not(.consense-header-menu)>summary[data-consense-action=disclosure]{display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none}
:root body details:not(.consense-header-menu)>summary[data-consense-action=disclosure]::-webkit-details-marker{display:none}
:root body details:not(.consense-header-menu)>summary[data-consense-action=disclosure]::after{content:"";display:block;flex:0 0 18px;width:18px;height:18px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m7 10 5 5 5-5' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;transform:none;transition:none}
:root body details[open]:not(.consense-header-menu)>summary[data-consense-action=disclosure]::after{transform:rotate(180deg)}
:root body summary[data-consense-action=disclosure] :is(.faq-toggle,.faq-icon){display:none}
/* Known controls created by the tools, with their existing handlers and states. */
:root body[data-tool=palette] :is(button.lock,button.hex),:root body[data-tool=gradient] button.stop-remove,:root body[data-tool=captions] button.rm{min-width:44px;min-height:44px;border-radius:0;font:500 14px/1.4 "Helvetica Neue",Helvetica,Arial,sans-serif;transform:none;transition:background-color .15s,color .15s,border-color .15s}
:root body[data-tool=palette] :is(button.lock,button.hex):focus-visible,:root body[data-tool=gradient] button.stop-remove:focus-visible,:root body[data-tool=captions] button.rm:focus-visible{outline:var(--action-focus)!important;outline-offset:4px!important}
:root body :is([data-consense-action=primary],[data-consense-action=secondary])>.c-icon{max-width:18px;max-height:18px}
:root body [data-consense-action=icon].theme-toggle{justify-content:center}
/* The context link moves into the mobile menu; keep the compact header within 320px. */
@media(max-width:620px){:root body .consense-header .consense-header-context{display:none}}

:root body details:not(.consense-header-menu)>summary[data-consense-action=disclosure]>span[aria-hidden=true]{display:none}
:root body .field-controls button{min-height:44px;border-radius:0;font:500 14px/1.4 "Helvetica Neue",Helvetica,Arial,sans-serif;transform:none;transition:none}
:root body .field-controls button:focus-visible{outline:2px solid currentColor;outline-offset:4px}
:root body[data-tool=gradient] button.swatch{min-height:44px;border-radius:0;transform:none;transition:none}
:root body[data-tool=gradient] button.swatch:focus-visible{outline:var(--action-focus)!important;outline-offset:4px!important}

:root body .c-icon[stroke]{fill:none;stroke:currentColor;stroke-width:1.5}

:root body .editorial-contact .contact-link[data-consense-action=primary]{margin-right:24px;margin-bottom:12px}
/* Experiment cards use the same text-link treatment as editorial destinations. */
:root body .experiments [data-consense-action=card] .experiment-cta,
:root body .experiments .home-experiments-all[data-consense-action=text]{gap:8px;min-height:44px;padding:2px 0;border:0;font:500 14px/1.4 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:0;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;transition:none}
:root body .experiments [data-consense-action=card]:hover .experiment-cta,
:root body .experiments .home-experiments-all[data-consense-action=text]:hover{text-decoration-thickness:2px;gap:8px}
