[data-words] { --_words-gap: var(--words-gap-md); --_words-radius: var(--words-radius-md); --_words-content-px: var(--words-content-px-md); --_words-content-py: var(--words-content-py-md); --_words-content-min-block-size: var(--words-content-min-block-size-md); --_words-toolbar-px: var(--words-toolbar-px-md); --_words-toolbar-py: var(--words-toolbar-py-md); --_words-button-size: var(--words-button-size-md); --_words-font-size: var(--words-font-size-md); --_words-accent-solid: var(--words-color-primary-solid); --_words-accent-solid-hover: var(--words-color-primary-solid-hover); --_words-accent-track: var(--words-color-primary-track); --_words-accent-border: var(--words-color-primary-border); --_words-accent-text: var(--words-color-primary-text); --_words-selection-bg: color-mix(in srgb, var(--_words-accent-solid) 78%, transparent); --_words-selection-color: var(--words-command-solid-color); position: relative; display: flex; flex-direction: column; inline-size: 100%; max-inline-size: var(--words-max-inline-size); overflow: hidden; border: var(--words-border-width) solid var(--words-border); border-radius: var(--_words-radius); background: var(--words-bg); box-shadow: var(--words-shadow); color: var(--words-color); font-family: var(--words-font-family); font-size: var(--_words-font-size); line-height: var(--words-line-height); transition: border-color var(--words-transition-duration) var(--words-transition-ease), box-shadow var(--words-transition-duration) var(--words-transition-ease), background var(--words-transition-duration) var(--words-transition-ease); } [data-words][data-size='sm'] { --_words-gap: var(--words-gap-sm); --_words-radius: var(--words-radius-sm); --_words-content-px: var(--words-content-px-sm); --_words-content-py: var(--words-content-py-sm); --_words-content-min-block-size: var(--words-content-min-block-size-sm); --_words-toolbar-px: var(--words-toolbar-px-sm); --_words-toolbar-py: var(--words-toolbar-py-sm); --_words-button-size: var(--words-button-size-sm); --_words-font-size: var(--words-font-size-sm); } [data-words][data-size='lg'] { --_words-gap: var(--words-gap-lg); --_words-radius: var(--words-radius-lg); --_words-content-px: var(--words-content-px-lg); --_words-content-py: var(--words-content-py-lg); --_words-content-min-block-size: var(--words-content-min-block-size-lg); --_words-toolbar-px: var(--words-toolbar-px-lg); --_words-toolbar-py: var(--words-toolbar-py-lg); --_words-button-size: var(--words-button-size-lg); --_words-font-size: var(--words-font-size-lg); } [data-words][data-color='secondary'] { --_words-accent-solid: var(--words-color-secondary-solid); --_words-accent-solid-hover: var(--words-color-secondary-solid-hover); --_words-accent-track: var(--words-color-secondary-track); --_words-accent-border: var(--words-color-secondary-border); --_words-accent-text: var(--words-color-secondary-text); } [data-words][data-color='neutral'] { --_words-accent-solid: var(--words-color-neutral-solid); --_words-accent-solid-hover: var(--words-color-neutral-solid-hover); --_words-accent-track: var(--words-color-neutral-track); --_words-accent-border: var(--words-color-neutral-border); --_words-accent-text: var(--words-color-neutral-text); } [data-words][data-color='affirm'] { --_words-accent-solid: var(--words-color-affirm-solid); --_words-accent-solid-hover: var(--words-color-affirm-solid-hover); --_words-accent-track: var(--words-color-affirm-track); --_words-accent-border: var(--words-color-affirm-border); --_words-accent-text: var(--words-color-affirm-text); } [data-words][data-color='fulfill'] { --_words-accent-solid: var(--words-color-fulfill-solid); --_words-accent-solid-hover: var(--words-color-fulfill-solid-hover); --_words-accent-track: var(--words-color-fulfill-track); --_words-accent-border: var(--words-color-fulfill-border); --_words-accent-text: var(--words-color-fulfill-text); } [data-words][data-color='risk'] { --_words-accent-solid: var(--words-color-risk-solid); --_words-accent-solid-hover: var(--words-color-risk-solid-hover); --_words-accent-track: var(--words-color-risk-track); --_words-accent-border: var(--words-color-risk-border); --_words-accent-text: var(--words-color-risk-text); } [data-words][data-color='threat'] { --_words-accent-solid: var(--words-color-threat-solid); --_words-accent-solid-hover: var(--words-color-threat-solid-hover); --_words-accent-track: var(--words-color-threat-track); --_words-accent-border: var(--words-color-threat-border); --_words-accent-text: var(--words-color-threat-text); } [data-words][data-color='loss'] { --_words-accent-solid: var(--words-color-loss-solid); --_words-accent-solid-hover: var(--words-color-loss-solid-hover); --_words-accent-track: var(--words-color-loss-track); --_words-accent-border: var(--words-color-loss-border); --_words-accent-text: var(--words-color-loss-text); } [data-words][data-variant='outline'] { background: transparent; box-shadow: none; } [data-words][data-variant='ghost'] { border-color: transparent; background: transparent; box-shadow: none; } [data-words]:hover:not([data-disabled]):not([data-readonly]) { border-color: var(--words-border-hover); } [data-words][data-focused] { border-color: var(--_words-accent-border); box-shadow: var(--words-focus-shadow); } [data-words][data-invalid] { border-color: var(--words-invalid-border); } [data-words][data-disabled] { cursor: not-allowed; opacity: var(--words-disabled-opacity); } [data-words]:has([data-words-toolbar][data-orientation='vertical']) { display: grid; grid-template-columns: max-content minmax(0, 1fr); grid-template-rows: auto auto; } [data-words-toolbar] { display: flex; flex-wrap: wrap; align-items: center; gap: var(--words-toolbar-gap); padding-block: var(--_words-toolbar-py); padding-inline: var(--_words-toolbar-px); border-block-end: var(--words-border-width) solid var(--words-toolbar-border); background: var(--words-toolbar-bg); } [data-words-toolbar][data-orientation='vertical'] { grid-column: 1; grid-row: 1; flex-direction: column; align-items: stretch; inline-size: max-content; border-block-end: 0; border-inline-end: var(--words-border-width) solid var(--words-toolbar-border); } [data-words-toolbar-group] { display: inline-flex; align-items: center; gap: var(--words-command-gap); } [data-words-toolbar-group][data-orientation='vertical'] { flex-direction: column; align-items: stretch; } [data-words-bubble-menu] { --_words-bubble-offset: var(--words-toolbar-py-md); --_words-bubble-y-shift: calc(-100% - var(--_words-bubble-offset)); --_words-bubble-bg: var(--words-toolbar-bg); position: fixed; z-index: var(--z-index-popover); inset-block-start: var(--_words-bubble-y); inset-inline-start: var(--_words-bubble-x); display: inline-flex; align-items: center; gap: var(--words-command-gap); max-inline-size: 92vw; padding-block: var(--words-toolbar-py-sm); padding-inline: var(--words-toolbar-px-sm); border: var(--words-border-width) solid var(--_words-accent-border); border-radius: var(--words-command-radius); background: var(--_words-bubble-bg); box-shadow: var(--words-shadow); color: var(--words-command-color); transform: translate(-50%, var(--_words-bubble-y-shift)); } [data-words-bubble-menu][data-side='bottom'] { --_words-bubble-y-shift: var(--_words-bubble-offset); } [data-words-bubble-menu][hidden], [data-words-bubble-menu]:not([data-open]), [data-words-bubble-menu]:not([data-positioned]) { display: none; } [data-words-bubble-menu] [data-words-link-editor] { grid-template-columns: minmax(0, 1fr) auto; } [data-words-command-button] { display: inline-flex; align-items: center; justify-content: center; gap: var(--words-command-gap); min-inline-size: var(--_words-button-size); block-size: var(--_words-button-size); padding-inline: var(--words-command-px); border: var(--words-border-width) solid transparent; border-radius: var(--words-command-radius); background: transparent; color: var(--words-command-color); font: inherit; cursor: pointer; outline: none; transition: background var(--words-transition-duration) var(--words-transition-ease), border-color var(--words-transition-duration) var(--words-transition-ease), color var(--words-transition-duration) var(--words-transition-ease), box-shadow var(--words-transition-duration) var(--words-transition-ease); } [data-words-command-button]:hover:not(:disabled):not([data-disabled]) { border-color: var(--words-command-border-hover); background: var(--words-command-bg-hover); color: var(--words-command-color-hover); } [data-words-command-button]:focus-visible { box-shadow: var(--words-focus-shadow); } [data-words-command-button][data-active], [data-words-command-button][data-state='on'] { border-color: var(--_words-accent-border); background: var(--_words-accent-track); color: var(--_words-accent-text); } [data-words-command-button][data-command='commit'] { border-color: var(--_words-accent-solid); background: var(--_words-accent-solid); color: var(--words-command-solid-color); } [data-words-command-button][data-command='commit']:hover:not(:disabled):not([data-disabled]) { border-color: var(--_words-accent-solid-hover); background: var(--_words-accent-solid-hover); color: var(--words-command-solid-color); } [data-words-command-button]:disabled, [data-words-command-button][data-disabled] { cursor: not-allowed; opacity: var(--words-disabled-opacity); } [data-words-tool-popover-trigger], [data-words-link-trigger] { display: inline-flex; align-items: center; justify-content: center; min-inline-size: var(--_words-button-size); block-size: var(--_words-button-size); padding-inline: var(--words-command-px); border: var(--words-border-width) solid transparent; border-radius: var(--words-command-radius); background: transparent; color: var(--words-command-color); font: inherit; cursor: pointer; outline: none; transition: background var(--words-transition-duration) var(--words-transition-ease), border-color var(--words-transition-duration) var(--words-transition-ease), color var(--words-transition-duration) var(--words-transition-ease), box-shadow var(--words-transition-duration) var(--words-transition-ease); } [data-words-tool-popover-trigger]:hover:not(:disabled), [data-words-link-trigger]:hover:not(:disabled) { border-color: var(--words-command-border-hover); background: var(--words-command-bg-hover); color: var(--words-command-color-hover); } [data-words-tool-popover-trigger]:focus-visible, [data-words-link-trigger]:focus-visible { box-shadow: var(--words-focus-shadow); } [data-words-tool-popover-trigger][data-state='open'], [data-words-link-trigger][data-state='open'] { border-color: var(--_words-accent-border); background: var(--_words-accent-track); color: var(--_words-accent-text); } [data-words-tool-popover], [data-words-link-popover] { --_words-button-size: var(--words-button-size-sm); --_words-accent-solid: var(--words-color-primary-solid); --_words-accent-border: var(--words-color-primary-border); --_words-accent-text: var(--words-color-primary-text); --popover-content-radius: var(--words-radius); } [data-words-tool-popover-row] { display: flex; align-items: start; gap: var(--words-command-gap); min-inline-size: 0; } [data-words-tool-popover-body] { flex: 1 1 auto; min-inline-size: 0; } [data-words-tool-popover-close] { display: inline-flex; flex: 0 0 var(--_words-button-size); align-items: center; justify-content: center; inline-size: var(--_words-button-size); block-size: var(--_words-button-size); padding: 0; border: var(--words-border-width) solid var(--words-command-border-hover); border-radius: var(--words-command-radius); background: var(--words-bg); color: var(--words-command-color); font: inherit; cursor: pointer; outline: none; } [data-words-tool-popover-close]:hover:not(:disabled) { border-color: var(--_words-accent-border); background: var(--words-command-bg-hover); color: var(--words-command-color-hover); } [data-words-tool-popover-close]:focus-visible { box-shadow: var(--words-focus-shadow); } [data-words-link-editor] { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--words-command-gap); padding: 0; background: transparent; } [data-words-link-editor][data-invalid] { background: color-mix(in srgb, var(--words-invalid-border) 8%, var(--words-toolbar-bg)); } [data-words-link-editor][data-disabled] { opacity: var(--words-disabled-opacity); } [data-words-link-field] { display: flex; box-sizing: border-box; align-items: center; gap: var(--words-command-gap); inline-size: 100%; min-inline-size: 0; block-size: var(--_words-button-size); padding-inline: var(--words-command-px); border: var(--words-border-width) solid var(--words-toolbar-border); border-radius: var(--words-command-radius); background: var(--words-bg); color: var(--words-content-color); } [data-words-link-label] { display: inline-flex; flex: 0 0 auto; align-items: center; color: var(--words-status-color); font-size: var(--words-status-font-size); } [data-words-link-field] input[type='text'] { flex: 1 1 auto; min-inline-size: 0; border: 0; background: transparent; color: var(--words-content-color); font: inherit; outline: none; } [data-words-link-field]:focus-within { border-color: var(--_words-accent-border); box-shadow: var(--words-focus-shadow); } [data-words-link-field]:has(input[aria-invalid='true']) { border-color: var(--words-invalid-border); } [data-words-link-actions] { display: inline-flex; flex: 0 0 auto; align-items: center; gap: var(--words-command-gap); } [data-words-link-actions] button { display: inline-flex; flex: 0 0 var(--_words-button-size); align-items: center; justify-content: center; inline-size: var(--_words-button-size); block-size: var(--_words-button-size); padding: 0; border: var(--words-border-width) solid var(--words-command-border-hover); border-radius: var(--words-command-radius); background: var(--words-bg); color: var(--words-command-color); font: inherit; cursor: pointer; } [data-words-link-actions] button[data-words-link-apply] { border-color: var(--_words-accent-solid); background: var(--_words-accent-solid); color: var(--words-command-solid-color); } [data-words-link-actions] button:disabled { cursor: not-allowed; opacity: var(--words-disabled-opacity); } [data-words-link-error] { grid-column: 1 / -1; color: var(--words-status-error-color); font-size: var(--words-status-font-size); } [data-words]:has([data-words-toolbar][data-orientation='vertical']) [data-words-link-editor] { grid-template-columns: minmax(0, 1fr) auto; } [data-words]:has([data-words-toolbar][data-orientation='vertical']):has([data-words-link-editor]) [data-words-status] { grid-row: 3; } [data-words-placeholder] { display: block; padding-block-start: var(--_words-content-py); padding-inline: var(--_words-content-px); color: var(--words-placeholder-color); pointer-events: none; } [data-words]:has([data-words-toolbar][data-orientation='vertical']) [data-words-placeholder] { grid-column: 2; grid-row: 1; z-index: 1; } [data-words-placeholder][hidden], [data-words-hidden-input][hidden] { display: none; } [data-words-content] { min-block-size: var(--_words-content-min-block-size); padding-block: var(--_words-content-py); padding-inline: var(--_words-content-px); color: var(--words-content-color); outline: none; overflow-wrap: anywhere; white-space: pre-wrap; caret-color: var(--_words-accent-solid); user-select: text; -webkit-user-select: text; } [data-words-content] * { user-select: text; -webkit-user-select: text; } [data-words]:has([data-words-toolbar][data-orientation='vertical']) [data-words-content] { grid-column: 2; grid-row: 1; } [data-words-placeholder]:not([hidden]) + [data-words-content] { padding-block-start: var(--words-content-py-after-placeholder); } [data-words-content]::selection, [data-words-content] ::selection { background: var(--_words-selection-bg); color: var(--_words-selection-color); } [data-words-content]:focus-visible { outline: none; } [data-words-content] :where(p, h1, h2, h3, blockquote, ul, ol) { margin-block: 0 var(--words-block-gap); } [data-words-content] :where(p, h1, h2, h3, blockquote, ul, ol):last-child { margin-block-end: 0; } [data-words-content] :where(h1, h2, h3) { color: var(--words-heading-color); font-size: var(--words-heading-font-size); font-weight: var(--words-heading-font-weight); line-height: var(--words-heading-line-height); } [data-words-content] :where(strong) { font-weight: var(--words-strong-font-weight); } [data-words-content] [data-words-marks~='bold'] { font-weight: var(--words-strong-font-weight); } [data-words-content] [data-words-marks~='italic'] { font-style: italic; } [data-words-content] [data-words-marks~='underline'] { text-decoration-line: underline; } [data-words-content] [data-words-marks~='strike'] { text-decoration-line: line-through; } [data-words-content] [data-words-marks~='underline'][data-words-marks~='strike'] { text-decoration-line: underline line-through; } [data-words-content] :where(code) { border-radius: var(--words-code-radius); background: var(--words-code-bg); color: var(--words-code-color); font-family: var(--words-code-font-family); padding-block: var(--words-code-py); padding-inline: var(--words-code-px); } [data-words-content] [data-words-marks~='code'] { border-radius: var(--words-code-radius); background: var(--words-code-bg); color: var(--words-code-color); font-family: var(--words-code-font-family); padding-block: var(--words-code-py); padding-inline: var(--words-code-px); } [data-words-content] :where(blockquote) { padding-inline-start: var(--words-quote-px); border-inline-start: var(--words-quote-border-width) solid var(--_words-accent-border); color: var(--words-quote-color); } [data-words-content] :where(ul, ol) { padding-inline-start: var(--words-list-padding-inline-start); } [data-words-content] :where(a) { color: var(--_words-accent-text); text-decoration-color: var(--_words-accent-border); } [data-words-status] { padding-block: var(--words-status-py); padding-inline: var(--_words-content-px); border-block-start: var(--words-border-width) solid var(--words-toolbar-border); color: var(--words-status-color); font-size: var(--words-status-font-size); } [data-words]:has([data-words-toolbar][data-orientation='vertical']) [data-words-status] { grid-column: 1 / -1; grid-row: 2; } [data-words-status][data-status='error'] { color: var(--words-status-error-color); } @media (prefers-reduced-motion: reduce) { [data-words], [data-words-command-button] { transition: none; } }