:root {
  --TWPT-primary-text: #e8eaed;
  --TWPT-primary-text-alt: var(--TWPT-primary-text);
  --TWPT-secondary-text: #9aa0a6;
  --TWPT-primary-background: #202124;
  --TWPT-secondary-background: #28292c;
  --TWPT-active-background: #3c4043;
  --TWPT-card-border: #5f6368;
  --TWPT-subtle-border: #383735;
  --TWPT-link: #8ab4f8;
  --TWPT-highlighted-item-background: rgba(255, 255, 255, .08);
  --TWPT-thread-read-background: var(--TWPT-highlighted-item-background);
  --TWPT-drawer-background: #2d2e30;
  --TWPT-button-background: #3c3e42;
  --TWPT-input-underline: rgba(255, 255, 255, .28);
  --TWPT-blue-100: #BBDEFB;
  --TWPT-blue-A100: #82B1FF;
  --TWPT-bad-text: #f6aea9;
  --TWPT-good-text: #34a853;
  --TWPT-interop-primary-text: var(--TWPT-primary-text);
  --TWPT-interop-secondary-text: #c4c7c5;
  --TWPT-interop-subtle-border: #474747;
}

body {
  color: var(--TWPT-primary-text);
  background-color: var(--TWPT-primary-background)!important;
}

p {
  color: var(--TWPT-primary-text);
}

body.ec a:not(.mdc-list-item) {
  color: var(--TWPT-link);
}

/* Header */
.material-content > header {
  background-color: var(--TWPT-primary-background)!important;
}

.material-content > header .app-title-button,
    .material-content > header .app-title-text {
  color: var(--TWPT-secondary-text)!important;
}

.material-content > header material-button,
    .material-content > header material-button material-icon,
    .material-content > header notification-bell material-icon {
  color: rgba(255, 255, 255, .87)!important;
}

.search-box {
  background-color: #313235!important;
}

.search-box .clear-icon {
  opacity: 0.8;
  color: rgba(255, 255, 255, .87)!important;
}

.material-content > header .bell.mixin {
  fill: rgba(255, 255, 255, .87)!important;
}

/* Notification bell */
notification-bell:focus {
  background-color: rgba(255, 255, 255, .10)!important;
}

/* Drawer */
material-drawer, material-drawer .panel, material-list-item {
  background-color: var(--TWPT-drawer-background)!important;
}

material-list-item:hover, material-list-item:focus, material-list-item.item--active {
  background-color: var(--TWPT-active-background)!important;
}

material-drawer .panel {
  border-bottom-color: #25231f!important;
}

material-drawer .drawer-section-title, material-drawer .header > material-icon {
  color: var(--TWPT-secondary-text)!important;
}

material-drawer material-list-item,
    material-drawer material-list-item .title {
  color: #d2cecb!important;
}

material-drawer ec-forum-drawer-item material-checkbox material-icon {
  filter: brightness(1.5);
}

/* Header menus */
.popup material-list-item {
  color: #d2cecb!important;
}

/* Filters (ec-query-builder) */
material-condition-builder .compound-condition-operator {
  color: var(--TWPT-secondary-text)!important;
}

material-condition-builder .compound-condition-operator::before,
    material-condition-builder .compound-condition-operator::after {
  border-left-color: rgba(255, 255, 255, .20)!important;
}

/* Selector */

/*
 * This applies not only to the selector but also to the ec-work-state-picker.
 */
.popup-wrapper, material-list, .popup .item-group-list {
  background-color: var(--TWPT-drawer-background)!important;
}

material-list [group]:not(.empty) + *:not(script):not(template):not(.empty),
    .popup .item-group-list [group]:not(.empty) + *:not(script):not(template):not(.empty) {
  box-shadow: inset 0 8px 0 0 var(--TWPT-drawer-background)!important;
  border-top-color: #1f1f1f!important;
}

material-list material-select-item:hover,
    material-list material-select-item:focus,
    material-list material-select-dropdown-item:hover,
    material-list material-select-dropdown-item:focus,
    material-list material-select-dropdown-item.active,
    material-list material-select-dropdown-item:not(.multiselect).selected,
    material-select-searchbox:focus-within + material-list .single-select-item:first-of-type,
    .popup .item-group-list material-select-item:hover,
    .popup .item-group-list material-select-item:focus,
    .popup .item-group-list material-select-item.active,
    .popup .item-group-list material-select-dropdown-item:hover,
    .popup .item-group-list material-select-dropdown-item:focus,
    .popup .item-group-list material-select-dropdown-item.active,
    .popup .item-group-list material-select-dropdown-item:not(.multiselect).selected {
  background-color: var(--TWPT-highlighted-item-background)!important;
}

material-list .single-select-item,
    material-list .menu-item-label,
    material-list .label,
    material-list .text-segment,
    menu-item-groups .single-select-item,
    menu-item-groups .menu-item-label,
    menu-item-groups .label,
    menu-item-groups .text-segment {
  color: rgba(255, 255, 255, .87)!important;
}

.popup .item-group-list material-icon {
  color: rgba(255, 255, 255, .7)!important;
}

material-list [group] > [label] {
  color: #8a8a8a!important;
}

/* This is shown in the new thread view */
ec-forum-language-picker .labeled-select .select-label {
  color: var(--TWPT-secondary-text)!important;
}

/* Main */
.main {
  color: var(--TWPT-primary-text)!important;
}

/* Border color for the page title bar (most pages use .title-bar although
 * some use .page-header).
 */
main .title-bar, main .page-header {
  border-bottom-color: var(--TWPT-subtle-border)!important;
}

main .title-bar .title, main .page-header h1, main .header h1 {
  color: var(--TWPT-primary-text)!important;
}

.card {
  background-color: var(--TWPT-secondary-background)!important;
  color: var(--TWPT-primary-text)!important;
  border-color: var(--TWPT-card-border)!important;
}

.card .card-title, .card, .card-section-title {
  color: var(--TWPT-primary-text)!important;
}

.card .card-section-hint, .card .card-section-checkbox-hint {
  color: var(--TWPT-secondary-text)!important;
}

/* Action bar */
.material-content .action-bar material-button,
    ec-bulk-actions material-button,
    ec-back-button material-button,
    .sort-options material-button {
  color: rgba(255, 255, 255, .54)!important;
}

.material-content .action-bar .review-button.reviewing {
  color: #1a73e8!important;
  background: #dae7ff!important;
}

.material-content .action-bar material-button.starred {
  color: #fbbc04!important;
}

/* ec-work-state-picker and ec-symptom-picker */
ec-work-state-picker > button,
    ec-symptom-picker > button {
  color: var(--TWPT-secondary-text)!important;
  background-color: var(--TWPT-button-background)!important;
  border-color: var(--TWPT-subtle-border)!important;
}

.material-popup-content .popup-content .title {
  color: var(--TWPT-primary-text)!important;
}

/* Thread list */
ec-thread-list ul.thread-group {
  background-color: var(--TWPT-primary-background)!important;
}

ec-thread-list ec-bulk-actions, ec-thread-list ec-thread-summary material-expansionpanel {
  border-bottom-color: var(--TWPT-subtle-border)!important;
}

ec-thread-summary material-expansionpanel.read:not(.checked) {
  background-color: var(--TWPT-thread-read-background)!important;
}

ec-thread-summary material-expansionpanel.read .title span:not(.icon) {
  opacity: 0.8;
}

ec-thread-summary material-expansionpanel.read .title .icon {
  opacity: 0.48!important;
}

ec-thread-summary material-expansionpanel.checked {
  background-color: #2c4b77!important;
}

ec-thread-summary material-expansionpanel .title {
  color: var(--TWPT-primary-text)!important;
}

ec-thread-summary material-expansionpanel ec-second-summary-line,
    material-expansionpanel .header-content,
    material-expansionpanel ec-thread-counts > span:not(.recommended-answers),
    material-expansionpanel .duplicate-label {
  color: #928e89!important;
}

material-expansionpanel .removed-label {
  color: var(--TWPT-bad-text)!important;
}

ec-thread-summary material-expansionpanel ec-safe-html.body,
    material-expansionpanel .issue-tracking-work-state {
  color: var(--TWPT-primary-text)!important;
}

/*
 * The following section changes the styles of the checkboxes in thread lists,
 * based in the styles defined in the "Checkbox input" section.
 **/
ec-thread-summary material-expansionpanel .action material-button,
    ec-thread-list material-checkbox material-icon,
    ec-thread-summary material-expansionpanel .star-button:not(.starred) {
  color: #696867!important; /* Custom value to match previous behavior */
  opacity: 1!important;
}

ec-thread-list material-checkbox material-icon.filled {
  color: #62a5ff!important; /* Custom value to contrast well with the background */
}

/* .gm-icons is added by the SMEI_GOOGLE_MATERIAL_ICONS experiment. */
ec-thread-list material-checkbox:focus:not(.disabled).gm-icons .icon,
    .gm-icons ec-thread-list material-checkbox:focus:not(.disabled) .icon,
    ec-thread-list material-checkbox:hover:not(.disabled).gm-icons .icon,
    .gm-icons ec-thread-list material-checkbox:hover:not(.disabled) .icon {
  color: #807d7c!important; /* custom value */
}

ec-thread-list material-checkbox:focus:not(.disabled).gm-icons .icon.filled,
    .gm-icons ec-thread-list material-checkbox:focus:not(.disabled) .icon.filled,
    ec-thread-list material-checkbox:hover:not(.disabled).gm-icons .icon.filled,
    .gm-icons ec-thread-list material-checkbox:hover:not(.disabled) .icon.filled {
  color: #92c1ff!important; /* custom value */
}

/* Thread view (including review/live review components) */
ec-question, .heading + .group, ec-message {
  background-color: var(--TWPT-secondary-background)!important;
}

ec-thread .no-review-needed {
  background-color: #155829!important;
  border-color: var(--TWPT-subtle-border)!important;
}

/* Review bar shown above the main message or replies */
ec-review-bar {
  background-color: var(--TWPT-active-background)!important;
}

ec-review-bar material-chip {
  background-color: var(--TWPT-button-background)!important;
}

ec-review-bar material-chip:not(.relevant-active):not(.active) {
  border-color: var(--TWPT-card-border)!important;
}

ec-review-bar material-chip:not(.relevant-active):not(.active) material-icon {
  color: var(--TWPT-primary-text)!important;
  fill: var(--TWPT-primary-text)!important;
}

ec-review-bar material-chip:not(.relevant-active):not(.active) .content {
  color: var(--TWPT-primary-text)!important;
}

ec-review-bar material-chip.relevant-active {
  border-color: var(--TWPT-good-text)!important;
}

ec-review-bar material-chip.relevant-active material-icon {
  color: var(--TWPT-good-text)!important;
  fill: var(--TWPT-good-text)!important;
}

ec-review-bar material-chip.relevant-active .content {
  color: var(--TWPT-good-text)!important;
}

ec-review-bar material-chip.active {
  border-color: var(--TWPT-bad-text)!important;
}

ec-review-bar material-chip.active material-icon {
  color: var(--TWPT-bad-text)!important;
  fill: var(--TWPT-bad-text)!important;
}

ec-review-bar material-chip.active .content {
  color: var(--TWPT-bad-text)!important;
}

ec-message-header .header, ec-question .state, ec-question ec-thread-counts > span, ec-message ec-thread-counts > span {
  color: var(--TWPT-secondary-text)!important;
}

ec-question .alert, ec-message .alert {
  background-color: var(--TWPT-active-background)!important;
}

ec-question .alert material-icon, ec-message .alert material-icon {
  color: var(--TWPT-primary-text)!important;
}

ec-question .alert ec-icon, ec-message .alert ec-icon {
  color: var(--TWPT-primary-text)!important;
  fill: var(--TWPT-primary-text)!important;
}

ec-question .alert material-button {
  color: var(--TWPT-link)!important;
}

ec-question .title {
  color: var(--TWPT-primary-text-alt)!important;
}

ec-user-link .name-text {
  color: var(--TWPT-link)!important;
}

ec-message-header ec-avatar svg, ec-message-header .role,
    ec-message .footer .role {
  filter: brightness(1.5);
}

ec-question .body, ec-message .body {
  color: var(--TWPT-primary-text)!important;
}

ec-question .thread-insert {
  background: none!important;
}

ec-question .details-heading {
  color: var(--TWPT-primary-text-alt) !important;
}

ec-question .state-chips material-chip {
  background-color: var(--TWPT-button-background)!important;
  box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2),
      0 1px 1px 0 rgba(0, 0, 0, 0.14),
      0 1px 3px 0 rgba(0, 0, 0, 0.12);
}

ec-question .state-chips material-chip .content {
  color: var(--TWPT-primary-text)!important;
}

ec-question .footer,
    ec-ask-flow .content-disclaimer {
  color: var(--TWPT-primary-text)!important;
  background-color: var(--TWPT-active-background)!important;
  border-top-color: var(--TWPT-card-border)!important;
}

.heading {
  color: var(--TWPT-primary-text)!important;
}

.heading + .group,
    .load-more-bar,
    ec-message:not(:first-child),
    .load-more-bar .load-more-button,
    .load-more-bar .load-all-button {
  border-color: var(--TWPT-card-border)!important;
}

ec-message .type {
  color: var(--TWPT-primary-text)!important;
}

ec-message .footer ec-relative-time,
    ec-message .footer ec-safe-html {
  color: var(--TWPT-secondary-text)!important;
}

ec-message .helpful-prompt {
  color: var(--TWPT-primary-text)!important;
}

ec-question .me-too-button,
    ec-question .subscribe-button,
    ec-message .upvote-button,
    ec-message .downvote-button {
  color: var(--TWPT-secondary-text)!important;
  background-color: var(--TWPT-button-background)!important;
}

ec-message .alert {
  color: var(--TWPT-secondary-text)!important;
}

ec-question .me-too-button.selected,
    ec-question .subscribe-button.selected,
    ec-message .upvote-button.selected,
    ec-message .downvote-button.selected {
  color: #4285f4!important;
}

.load-more-bar .load-more-button, .load-more-bar .load-all-button {
  background-color: var(--TWPT-secondary-background)!important;
}

.locked-alert {
  background-color: var(--TWPT-active-background)!important;
  border: var(--TWPT-card-border)!important;
}

.locked-alert material-icon {
  color: rgba(255, 255, 255, .38)!important;
}

ec-thread button.reply.collapsed {
  color: var(--TWPT-secondary-text)!important;
}

ec-thread .finished-question {
  background-color: var(--TWPT-active-background)!important;
  border: var(--TWPT-card-border)!important;
}

ec-thread .finished-question .next-question {
  color: var(--TWPT-link)!important;
  border-color: var(--TWPT-link)!important;
}

.material-content .action-bar material-button.has-activity {
  color: #1a73e8!important;
}

.material-content .action-bar material-button.showing-sidebar {
  background-color: var(--TWPT-active-background)!important;
}

ec-activity-panel .title-bar h3 {
  color: #e8eaf2!important;
}

ec-activity-panel ec-activity {
  color: var(--TWPT-secondary-text)!important;
  border-color: var(--TWPT-card-border)!important;
}

ec-activity-panel ec-activity .message {
  color: var(--TWPT-primary-text-alt)!important;
}

ec-activity-panel ec-activity .thread-title {
  color: #c3bfbc!important;
}

/* Recommended answers - show in green where we've overwritten the colors */
.recommended-answers {
  color: #34a853!important;
}

/* Suggested answers - show brighter blue */
.suggested-icon {
  color: var(--TWPT-blue-A100)!important;
}

/* Help button (shown in the suggested answers header) */
.explanation-icon material-icon {
  color: rgba(255, 255, 255, .54)!important;
}

/* Help button tooltip */
.popup .paper-container {
  background: var(--TWPT-drawer-background)!important;
}

.explanation-icon material-icon:hover {
  color: var(--TWPT-blue-A100)!important;
}

/* New thread and edit message views */
material-stepper {
  border-top-color: var(--TWPT-card-border)!important;
}

material-stepper .stepper-step-name,
    material-stepper .purpose-title {
  color: var(--TWPT-primary-text)!important;
}

ec-ask-flow .display-name-label,
    material-stepper .additional-details-label,
    material-stepper .detail-label {
  color: var(--TWPT-secondary-text)!important;
}

material-stepper .stepper-step[selectable=true]:focus {
  background-color: rgba(60, 64, 67, .24)!important;
}

/* Compose thread view */
ec-thread-composer .main-content .title-label,
    ec-thread-composer .main-content .post-label {
  color: var(--TWPT-primary-text-alt)!important;
}

ec-thread-composer .main-content .title-input,
    ec-thread-composer .main-content ec-rich-text-editor {
  border-color: var(--TWPT-card-border)!important;
}

ec-thread-composer .main-content .title-alert {
  color: var(--TWPT-bad-text)!important;
}

ec-thread-composer material-drawer {
  background-color: inherit!important;
}

ec-thread-composer material-drawer .right-panel {
  border-left-color: var(--TWPT-card-border)!important;
}

ec-thread-composer material-drawer .panel-section-title {
  color: var(--TWPT-primary-text)!important;
}

ec-thread-composer material-drawer .panel-section-divider {
  border-color: var(--TWPT-card-border)!important;
}

ec-thread-composer material-drawer material-radio .radio-label {
  color: var(--TWPT-primary-text-alt)!important;
}

ec-thread-composer material-drawer material-radio .radio-description,
    ec-thread-composer material-drawer .settings-section .panel-section-item .select-label {
  color: var(--TWPT-secondary-text)!important;
}

/* Note: see thread view section. There is a rule for the thread creation
 * footer.
 **/

/* Chart in the profile view */
ec-user bar-chart .axis text,
    ec-unified-user sc-tailwind-shared-activity-chart .axis text {
  fill: rgba(255, 255, 255, .54)!important;
}

ec-user bar-chart .axis path,
    ec-user bar-chart .axis .gridline,
    ec-user bar-chart .axis line,
    ec-unified-user sc-tailwind-shared-activity-chart .axis path,
    ec-unified-user sc-tailwind-shared-activity-chart .axis .gridline,
    ec-unified-user sc-tailwind-shared-activity-chart .axis line {
  stroke: rgba(255, 255, 255, .12)!important;
}

ec-user bar-chart .axis line.axis-zero-tick,
    ec-user bar-chart .axis.x .tick-mark,
    ec-unified-user sc-tailwind-shared-activity-chart .axis line.axis-zero-tick,
    ec-unified-user sc-tailwind-shared-activity-chart .axis.x .tick-mark {
  stroke: rgba(255, 255, 255, .38)!important;
}

ec-user bar-chart .aplos-legend-entry,
    ec-unified-user sc-tailwind-shared-activity-chart .aplos-legend-entry {
  color: var(--TWPT-secondary-text)!important;
}

.aplos-hovercard {
  color: var(--TWPT-interop-secondary-text)!important;
  background: var(--TWPT-secondary-background)!important;
  border: none!important;
}

.aplos-hovercard .title {
  color: var(--TWPT-primary-text)!important;
}

.aplos-hovercard .subtitle,
    .aplos-donut-center .subtitle,
    .aplos-hovercard .series,
    .aplos-donut-center .series,
    .aplos-hovercard .value,
    .aplos-donut-center .value {
  color: var(--TWPT-secondary-text)!important;
}

/*
 * IMPORTANT NOTICE:
 * Note: the following styles (for interop components) have been written by
 * Googlers and thus are not included as part of the MIT license. This also
 * applies to the styles of the unified profiles.
 **/

/* Common styles for interop components */
.scSharedCalloutroot {
  color: var(--TWPT-interop-primary-text)!important;
}

.scSharedCallouterror {
  background-color: #523a3b!important;
  border-color: #f9dedc!important;
}

.scSharedCallouterror sc-shared-material-icon {
  color: #f9dedc!important;
}

.scSharedCallouterror>.scSharedCalloutsecondary-button button {
  color: #ec928e!important;
}

.scSharedCalloutcaution {
  background-color: #554c33!important;
  border-color: #ffdf99!important;
}

.scSharedCalloutcaution sc-shared-material-icon {
  color: #ffdf99!important;
}

.scSharedCalloutcaution>.scSharedCalloutsecondary-button button {
  color: #f09d00!important;
}

.scSharedCalloutinformational {
  background-color: #394457!important;
  border-color: #d3e3fd!important;
}

.scSharedCalloutinformational sc-shared-material-icon {
  color: #d3e3fd!important;
}

.scSharedCalloutinformational>.scSharedCalloutsecondary-button button {
  color: #7cacf8!important;
}

.scSharedCalloutsuccess {
  background-color: #37493f!important;
  border-color: #c4eed0!important;
}

.scSharedCalloutsuccess sc-shared-material-icon {
  color: #c4eed0!important;
}

.scSharedCalloutsuccess>.scSharedCalloutsecondary-button button {
  color: #37be5f!important;
}

.scSharedMaterialbuttonroot:disabled {
  color: rgba(227, 227, 227, 0.369)!important;
}

.scSharedMaterialbuttontext {
  color: #7cacf8!important;
}

.scSharedMaterialbuttoncolor-label {
  color: var(--TWPT-interop-secondary-text)!important;
}

.scSharedMaterialbuttoncolor-hint {
  color: var(--TWPT-interop-secondary-text)!important;
}

.scSharedMaterialbuttonnavigational {
  color: var(--TWPT-interop-primary-text)!important;
}

.scSharedMaterialbuttonnavigational-alt {
  color: var(--TWPT-interop-secondary-text)!important;
}

.scSharedMaterialbuttonhairline {
  border-color: var(--TWPT-interop-subtle-border)!important;
  color: #7cacf8!important;
}

.scSharedMaterialbuttonhairline:disabled {
  border-color: rgba(227, 227, 227, 0.369)!important;
}

.scSharedMaterialbuttonhairline:hover,
    .scSharedMaterialbuttonhairline:focus {
  border-color: rgba(124, 172, 248, 0.239)!important;
}

.scSharedMaterialbuttonhairline:active {
  box-shadow: 0 1px 2px 0 rgba(124, 172, 248, 0.302), 0 1px 3px 1px rgba(124, 172, 248, 0.149)!important;
}

.scSharedMaterialbuttontonal {
  color: #7cacf8!important;
  background: #394457!important;
}

.scSharedMaterialbuttontonal:hover {
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.302), 0 1px 3px 1px rgba(0, 0, 0, 0.149)!important;
}

.scSharedMaterialbuttontonal:active {
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.302), 0 2px 6px 2px rgba(0, 0, 0, 0.149)!important;
}

.scSharedMaterialbuttontonal:disabled {
  background: rgba(227, 227, 227, 0.122)!important;
}

.scSharedMaterialbuttonfilled {
  background: #7cacf8!important;
  color: #1f1f1f!important;
}

.scSharedMaterialbuttonfilled:disabled {
  background: rgba(227, 227, 227, 0.122)!important;
}

.scSharedMaterialbuttonfilled:hover,
    .scSharedMaterialbuttonfilled:focus {
  box-shadow: 0 1px 2px 0 rgba(124, 172, 248, 0.302), 0 1px 3px 1px rgba(124, 172, 248, 0.149)!important;
}

.scSharedMaterialbuttonfilled:active {
  box-shadow: 0 1px 3px 0 rgba(124, 172, 248, 0.302), 0 4px 8px 3px rgba(124, 172, 248, 0.149)!important;
}

.scSharedMaterialbuttonprotected {
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.302), 0 1px 3px 1px rgba(0, 0, 0, 0.149)!important;
  background: #1f1f1f!important;
  color: #7cacf8!important;
}

.scSharedMaterialbuttonprotected:disabled {
  background: rgba(227, 227, 227, 0.122)!important;
}

.scSharedMaterialbuttonprotected:hover {
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.302), 0 1px 3px 1px rgba(0, 0, 0, 0.149)!important;
}

.scSharedMaterialbuttonprotected:focus {
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.302), 0 2px 6px 2px rgba(0, 0, 0, 0.149)!important;
}

.scSharedMaterialbuttonprotected:active {
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.302), 0 4px 8px 3px rgba(0, 0, 0, 0.149)!important;
}

.scSharedExpandabletextexpander {
  color: #7cacf8!important;
}

.scSharedMaterialborderfilled {
  background: #313235!important;
  border-bottom: 1px solid var(--TWPT-interop-secondary-text)!important;
}

.scSharedMaterialborderfilled-error {
  border-bottom-color: #ec928e!important;
}

.scSharedMaterialborderfilled-bottom {
  background-color: #7cacf8!important;
}

.scSharedMaterialborderfilled-label {
  color: var(--TWPT-interop-secondary-text)!important;
}

.scSharedMaterialborderfilled-label-focused {
  color: #7cacf8!important;
}

.scSharedMaterialborderlabel {
  color: var(--TWPT-interop-secondary-text)!important;
}

.scSharedMaterialborderleft {
  border-bottom-color: var(--TWPT-interop-secondary-text)!important;
  border-left-color: var(--TWPT-interop-secondary-text)!important;
  border-top-color: var(--TWPT-interop-secondary-text)!important;
}

.scSharedMaterialborderleft-error {
  border-bottom-color: #ec928e!important;
  border-left-color: #ec928e!important;
  border-top-color: #ec928e!important;
}

.scSharedMaterialbordermid {
  border-bottom-color: var(--TWPT-interop-secondary-text)!important;
  border-top-color: var(--TWPT-interop-secondary-text)!important;
}

.scSharedMaterialbordermid-error {
  border-bottom-color: #ec928e!important;
  border-top-color: #ec928e!important;
}

.scSharedMaterialborderright {
  border-bottom-color: var(--TWPT-interop-secondary-text)!important;
  border-right-color: var(--TWPT-interop-secondary-text)!important;
  border-top-color: var(--TWPT-interop-secondary-text)!important;
}

.scSharedMaterialborderright-error {
  border-bottom-color: #ec928e!important;
  border-right-color: #ec928e!important;
  border-top-color: #ec928e!important;
}

.scSharedMaterialborderfocused {
  border-color: #7cacf8!important;
}

.scSharedMaterialborderdisabled {
  border-color: var(--TWPT-interop-subtle-border)!important;
}

.scSharedMaterialborderlabel-focused {
  color: #7cacf8!important;
}

.scSharedMaterialborderlabel-disabled {
  color: rgba(255, 255, 255, 0.239)!important;
}

.scSharedMaterialborderlabel-error {
  color: #ec928e!important;
}

.scSharedMaterialcheckboxcheckbox {
  color: #7cacf8!important;
}

.scSharedMaterialcheckboxbox {
  border-color: var(--TWPT-interop-secondary-text)!important;
}

.scSharedMaterialcheckboxcheckmark-path {
  stroke: #1f1f1f!important;
}

.scSharedMaterialcheckboxmixedmark {
  border-color: #1f1f1f!important;
}

.scSharedMaterial_dialogDialogcontentloading-overlay {
  background: rgba(227, 227, 227, 0.122)!important;
}

.scSharedMaterialpopupbackground {
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.302), 0 1px 3px 1px rgba(0, 0, 0, 0.149)!important;
  background: #2a2b2f!important;
  border: 1px solid var(--TWPT-interop-subtle-border)!important;
}

.scSharedMaterialmenuroot {
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.302), 0 1px 3px 1px rgba(0, 0, 0, 0.149)!important;
  background: #2a2b2f!important;
}

.scSharedMaterialmenuitem {
  color: var(--TWPT-interop-primary-text)!important;
}

.scSharedMaterialmenuitem-separator {
  border-top-color: var(--TWPT-interop-subtle-border)!important;
}

.scSharedMaterialmenuhighlight:focus,
    .scSharedMaterialmenuhighlight:hover {
  background-color: #394457!important;
}

.scSharedMaterialmenuhighlight:focus {
  outline: auto #7cacf8 1px!important;
}

.scSharedMaterialsnackbarsnackbar {
  background: var(--TWPT-interop-primary-text)!important;
  color: #1f1f1f!important;
}

.scSharedMaterialsnackbaraction button {
  color: #0b57d0!important;
}

.scSharedMaterialtabbartab {
  color: var(--TWPT-interop-primary-text)!important;
}

.scSharedMaterialtabbartab:hover,
    .scSharedMaterialtabbartab:focus {
  background-color: #313235!important;
}

.scSharedMaterialtabbarselected {
  border-bottom-color: #7cacf8!important;
  color: #7cacf8!important;
}

.scSharedMaterialtextfieldlabel {
  color: var(--TWPT-interop-primary-text)!important;
}

.scSharedMaterialtextfieldnative-control {
  caret-color: #7cacf8!important;
  color: var(--TWPT-interop-primary-text)!important;
}

.scSharedMaterialtextfieldinvalid .scSharedMaterialtextfieldnative-control {
  caret-color: #ec928e!important;
}

.scSharedMaterialtextfieldnative-control:disabled {
  color: var(--TWPT-interop-secondary-text)!important;
}

.scSharedMaterialtextfieldfocused .scSharedMaterialtextfieldlabel {
  color: #7cacf8!important;
}

.scSharedMaterialtextfieldinvalid .scSharedMaterialtextfieldlabel {
  color: #ec928e!important;
}

.scSharedMaterialtextfielddisabled .scSharedMaterialtextfieldlabel {
  color: var(--TWPT-interop-secondary-text)!important;
}

.scSharedMaterialtextfieldhelper-text {
  color: var(--TWPT-interop-secondary-text)!important;
}

.scSharedMaterialtextfieldhelper-text-invalid {
  color: #ec928e!important;
}

.scSharedMaterialtextfieldhelper-text-disabled {
  color: var(--TWPT-interop-secondary-text)!important;
}

.scTailwindSharedActivitychartroot {
  border: 1px solid var(--TWPT-interop-subtle-border)!important;
}

.scTailwindSharedAvataravatar-loading {
  background: #1f1f1f!important;
}

.scTailwindSharedReportabusedialogcontent .abuse-link {
  color: #7cacf8!important;
}

/* Unified profile view */
.scTailwindUser_profileAchievementsempty a,
    .scTailwindUser_profileAchievementsempty a:visited,
    sc-tailwind-user_profile-user-profile .link-icon {
  color: #7cacf8!important;
}

.scTailwindUser_profileBiosectionsection-heading {
  color: var(--TWPT-interop-secondary-text)!important;
}

.scTailwindUser_profileBiosectionbio {
  color: var(--TWPT-interop-primary-text)!important;
}

.scTailwindUser_profileBiosectionlinks,
    .scTailwindUser_profileBiosectionlink {
  color: #7cacf8!important;
}

.scTailwindUser_profileBiosectioninput-label {
  color: var(--TWPT-interop-secondary-text)!important;
}

.scTailwindUser_profileEmaildisplayemail-display {
  color: var(--TWPT-interop-secondary-text)!important;
}

.scTailwindUser_profileEmaildisplayshow-email {
  color: #7cacf8!important;
}

.scTailwindUser_profileMessagecardthread-link {
  color: var(--TWPT-interop-secondary-text)!important;
}

.scTailwindUser_profileMessagecardlabel {
  color: var(--TWPT-interop-secondary-text)!important;
}

.scTailwindUser_profileMessagecardcontent {
  border-left: 2px solid var(--TWPT-interop-subtle-border)!important;
  color: var(--TWPT-interop-primary-text)!important;
}

.scTailwindUser_profileMessagecardcount {
  color: var(--TWPT-interop-secondary-text)!important;
}

.scTailwindUser_profileMessagecardrecommended-answer {
  color: #6dd58c!important;
}

.scTailwindUser_profileMessagecardrecommended-answer .icon {
  background-color: #6dd58c!important;
  color: #1f1f1f!important;
}

sc-tailwind-user_profile-user-profile .notificationIcon {
  color: var(--TWPT-interop-secondary-text)!important;
}

sc-tailwind-user_profile-user-profile .deleteIcon,
    sc-tailwind-user_profile-user-profile .reportAbuseIcon,
    sc-tailwind-user_profile-user-profile .reactivateIcon {
  color: var(--TWPT-interop-secondary-text)!important;
}

.scTailwindUser_profilePosthistorysection+.scTailwindUser_profilePosthistorysection {
  border-top-color: var(--TWPT-interop-subtle-border)!important;
}

.scTailwindUser_profilePosthistorycontent,
    .scTailwindUser_profilePosthistoryheader,
    .scTailwindUser_profilePosthistoryerror {
  border-color: var(--TWPT-interop-subtle-border)!important;
}

.scTailwindUser_profileThreadcardtitle {
  color: var(--TWPT-interop-primary-text)!important;
}

.scTailwindUser_profileThreadcardlabel {
  color: var(--TWPT-interop-secondary-text)!important;
}

.scTailwindUser_profileThreadcardcontent {
  color: var(--TWPT-interop-primary-text)!important;
}

.scTailwindUser_profileThreadcardcount {
  color: var(--TWPT-interop-secondary-text)!important;
}

.scTailwindUser_profileThreadcardreply .icon {
  color: var(--TWPT-interop-secondary-text)!important;
}

.scTailwindUser_profileThreadcardrecommended-answer {
  color: #6dd58c!important;
}

.scTailwindUser_profileThreadcardrecommended-answer .icon {
  background-color: #6dd58c!important;
  color: #1f1f1f!important;
}

.scTailwindUser_profileUsercardroot {
  border: 1px solid var(--TWPT-interop-subtle-border)!important;
}

.scTailwindUser_profileUsercardinput-label {
  color: var(--TWPT-interop-secondary-text)!important;
}

.scTailwindUser_profileUsercardheadline {
  color: var(--TWPT-interop-primary-text)!important;
}

.scTailwindUser_profileUsercarddetails {
  color: var(--TWPT-interop-secondary-text)!important;
}

.scTailwindUser_profileUsercardlinks,
    .scTailwindUser_profileUsercardlink {
  color: #7cacf8!important;
}

.scTailwindUser_profileUsercardhorizontal-separator {
  background-color: var(--TWPT-interop-subtle-border)!important;
  color: var(--TWPT-interop-subtle-border)!important;
}

.scTailwindUser_profileUsercardsection-heading {
  color: var(--TWPT-interop-secondary-text)!important;
}

/* Duplicate thread feature */
.search-results ec-thread-option material-expansionpanel .panel {
  background-color: var(--TWPT-primary-background)!important;
}

.search-results ec-thread-option material-expansionpanel.selected .panel,
    .search-results ec-thread-option material-expansionpanel .panel > .main-header > .header.closed:hover,
    .search-results ec-thread-option material-expansionpanel .panel > .main-header > .header.closed:focus {
  background-color: #17191c!important;
}

/* Disabled buttons */
material-button[disabled] {
  color: rgba(255, 255, 255, .26)!important;
}

/* Material icons */
ec-filter-drawer-item material-icon,
    ec-filter-drawer-item ec-icon,
    material-drawer .drawer-section material-icon,
    material-drawer .drawer-section ec-icon,
    material-list material-icon,
    ec-query-builder material-icon,
    ec-thread-summary material-expansionpanel .title material-icon,
    .search-results ec-thread-option material-icon,
    .search-results ec-thread-option ec-icon,
    ec-rich-text-editor material-icon,
    ec-editor-command material-icon,
    ec-canned-responses ec-canned-response-row material-icon,
    ec-ask-flow > .header material-button {
  color: rgba(255, 255, 255, .87)!important;
}

material-drawer ec-icon,
  .search-results ec-thread-option ec-icon,
  ec-thread-summary material-expansionpanel .title ec-icon,
  ec-announcements-menu-item ec-icon {
  fill: rgba(255, 255, 255, .87)!important;
}

/* Dialogs */
material-dialog, material-dialog .dialog-header {
  background-color: var(--TWPT-primary-background)!important;
}

ec-movable-dialog[showminimize] material-dialog .dialog-header {
  background-color: #d2e3fc!important;
}

material-dialog .title {
  color: var(--TWPT-primary-text-alt)!important;
}

ec-movable-dialog[showminimize] material-dialog .dialog-header .title, ec-movable-dialog[showminimize] material-dialog header material-icon {
  color: var(--TWPT-primary-background)!important;
}

ec-movable-dialog[showminimize] material-dialog .header-notice, material-dialog .legal-prompt {
  background-color: #170f01!important;
}

ec-movable-dialog[showminimize] material-dialog .main .header-notice material-icon[icon="info_outline"] {
  color: var(--TWPT-blue-A100)!important;
}

material-dialog .section-title,
    material-dialog .select-label,
    material-dialog .input-label,
    material-dialog .btn-no,
    ec-display-name-editor,
    .forum-selection-label {
  color: var(--TWPT-secondary-text)!important;
}

material-dialog main > .user {
  border-bottom-color: var(--TWPT-card-border)!important;
}

ec-movable-dialog[showminimize] material-dialog footer > [footer] > .footer > [footer] > simple-html {
  color: var(--TWPT-secondary-text)!important;
  background-color: var(--TWPT-active-background)!important;
  border-top-color: #25231f!important;
}

ec-movable-dialog[showminimize] material-dialog footer > [footer] > .footer > [footer] > simple-html a {
  color: var(--TWPT-link)!important;
}

/* Keyboard shortcuts dialog */
material-dialog .main.with-scroll-strokes table th {
  color: var(--TWPT-primary-text)!important;
}

material-dialog .main.with-scroll-strokes table td {
  color: var(--TWPT-primary-text-alt)!important;
}

material-dialog .main.with-scroll-strokes table tr,
    material-dialog .main.with-scroll-strokes .shortcut {
  border-color: var(--TWPT-card-border)!important;
}

material-dialog .main.with-scroll-strokes.bottom-scroll-stroke {
  border-bottom-color: var(--TWPT-card-border)!important;
}

material-dialog .main.with-scroll-strokes.top-scroll-stroke {
  border-top-color: var(--TWPT-card-border)!important;
}

/* Rich text editor */
ec-editor-command material-button,
    ec-formatting-popup material-button {
  box-shadow: none!important;
}

ec-editor-command material-button.is-active {
  background: var(--TWPT-active-background)!important;
}

ec-rich-text-editor .placeholder {
  color: rgba(255, 255, 255, .38)!important;
}

ec-rich-text-editor .input-wrapper,
    ec-rich-text-editor .spacer {
  border-color: var(--TWPT-card-border)!important;
}

ec-rich-text-editor .input-wrapper.input-wrapper--focused {
  border-color: var(--TWPT-blue-A100)!important;
}

ec-rich-text-editor .input {
  color: var(--TWPT-primary-text)!important;
}

ec-rich-text-editor .hint {
  color: rgba(255, 255, 255, .54)!important;
}

material-select-searchbox + material-list material-list-item {
  color: rgba(255, 255, 255, .87)!important;
}

ec-attachment .filename {
  color: var(--TWPT-primary-text)!important;
}

/* Thread insert */
ec-thread-insert .title {
  color: var(--TWPT-primary-text)!important;
}

ec-thread-insert ec-thread-counts,
    ec-thread-insert .details,
    ec-thread-insert ec-relative-time {
  color: rgba(255, 255, 255, .54)!important;
}

/* Text input */
material-input input {
  color: var(--TWPT-primary-text)!important;
}

material-input .label-text,
    material-input .hint-text,
    material-input .counter {
  color: rgba(255, 255, 255, .54)!important;
}

material-input .underline .unfocused-underline {
  background-color: var(--TWPT-input-underline)!important;
}

material-input .underline .focused-underline {
  background-color: var(--TWPT-blue-A100)!important;
}

label .label {
  color: var(--TWPT-primary-text)!important;
}

/* Input underline */
material-input .underline .unfocused-underline,
    material-dropdown-select dropdown-button [buttondecorator] {
  border-color: var(--TWPT-input-underline)!important;
}

/* Checkbox input (except for forum checkboxes in the drawer) */
material-checkbox material-icon:not(ec-forum-drawer-item material-icon, ec-thread-list material-icon),
    material-checkbox .content:not(ec-forum-drawer-item material-icon, ec-thread-list material-icon) {
  color: var(--TWPT-secondary-text)!important;
}

/* .gm-icons is added by the SMEI_GOOGLE_MATERIAL_ICONS experiment. */
material-checkbox material-icon.filled:not(ec-forum-drawer-item material-icon, ec-thread-list material-icon) {
  color: var(--TWPT-blue-A100)!important;
}

material-checkbox:focus:not(.disabled).gm-icons .icon,
    .gm-icons material-checkbox:focus:not(.disabled) .icon,
    material-checkbox:hover:not(.disabled).gm-icons .icon,
    .gm-icons material-checkbox:hover:not(.disabled) .icon {
  color: #cfd2d8!important; /* custom value */
}

material-checkbox:focus:not(.disabled).gm-icons .icon.filled,
    .gm-icons material-checkbox:focus:not(.disabled) .icon.filled,
    material-checkbox:hover:not(.disabled).gm-icons .icon.filled,
    .gm-icons material-checkbox:hover:not(.disabled) .icon.filled {
  color: var(--TWPT-blue-100)!important;
}

.gm-icons material-checkbox .icon-container::before{
  background-color: #dfdedb!important; /* custom value */
}

/* Radio input */
material-radio .icon-container:not(.checked) material-icon {
  color: var(--TWPT-secondary-text)!important;
}

material-radio .icon-container.checked material-icon {
  color: var(--TWPT-blue-A100)!important;
}

/* Material switch */
.mdc-switch:not(.mdc-switch--checked) .mdc-switch__track {
  background-color: #7d7d7d!important; /* custom value */
}

.mdc-switch:not(.mdc-switch--checked) .mdc-switch__thumb {
  border-color: #fff!important; /* custom value */
}

.mdc-switch.mdc-switch--checked .mdc-switch__track {
  background-color: var(--TWPT-blue-A100)!important;
}

.mdc-switch.mdc-switch--checked .mdc-switch__thumb {
  border-color: var(--TWPT-blue-A100)!important;
}

/* Material menu button and dropdown select */
material-menu material-button, material-dropdown-select dropdown-button {
  color: var(--TWPT-primary-text)!important;
}

material-dropdown-select dropdown-button .button.is-disabled .button-text,
    material-dropdown-select dropdown-button .button.is-disabled material-icon {
  color: rgba(255, 255, 255, .32)!important;
}

/* Announcements content */
ec-announcements-content .header,
    ec-announcements-content .no-announcements,
    ec-announcements-content .announcement {
  border-bottom-color: var(--TWPT-card-border)!important;
}

ec-announcements-content .header .title, ec-announcements-content .announcement-title {
  color: var(--TWPT-primary-text-alt)!important;
}

ec-announcements-content .announcement-date {
  color: var(--TWPT-secondary-text)!important;
}

ec-announcements-content .no-announcements-message {
  color: #c3bfbc!important;
}

ec-announcements-content .view-all-link,
    ec-announcements-content .read-more-button {
  color: var(--TWPT-link)!important;
}

ec-announcements-content ::-webkit-scrollbar-thumb {
  background-color: rgba(255, 255, 255, .26)!important;
}

ec-announcements-content ::-webkit-scrollbar-thumb:hover {
  background-color: #4285f4!important;
}

/* Generic popup (for notification bell, account selector, etc.) */
.popup-wrapper .header-text {
  color: var(--TWPT-primary-text)!important;
}

/* Notifications bell popup/panel */
.notification-panel .header {
  border-bottom-color: var(--TWPT-card-border)!important;
}

.notification-panel .header material-button {
  color: var(--TWPT-secondary-text)!important;
}

.notification-panel .cards-container .promo-message {
  color: var(--TWPT-secondary-text)!important;
}

.notification-panel .cards-container .promo-message .header-text {
  color: var(--TWPT-primary-text)!important;
}

.notification-panel .cards-container ec-notification-card-content {
  border-bottom-color: var(--TWPT-card-border)!important;
}

.notification-panel .cards-container ec-notification-card-content .text {
  color: var(--TWPT-primary-text)!important;
}

.notification-panel .cards-container ec-notification-card-content .time,
    .notification-panel .cards-container ec-notification-card-content .close material-button {
  color: var(--TWPT-secondary-text)!important;
}

/* Account selector */
.popup-wrapper .profile .email {
  color: rgba(255, 255, 255, .54)!important;
}

material-gaia-picker-footer {
  color: rgba(255, 255, 255, .54)!important;
  background-color: var(--TWPT-active-background)!important;
}

material-gaia-picker-footer material-button {
  color: var(--TWPT-secondary-text)!important;
}

/* Canned responses */
ec-canned-responses .filter-label,
    ec-canned-responses ec-canned-response-row .name {
  color: var(--TWPT-primary-text)!important;
}

ec-canned-responses .label-row,
    ec-canned-responses ec-canned-response-row .snippet,
    ec-canned-responses ec-canned-response-row .tag {
  color: var(--TWPT-secondary-text)!important;
}

ec-canned-responses ec-canned-response-row .header.closed:hover,
    ec-canned-responses ec-canned-response-row .header.closed:focus,
    ec-canned-responses ec-canned-response-row .header.closed:hover .toolbar,
    ec-canned-responses ec-canned-response-row .header.closed:focus .toolbar {
  background-color: var(--TWPT-active-background)!important;
}

ec-canned-responses .filter-row,
    ec-canned-responses .label-row,
    ec-canned-responses ec-canned-response-row material-expansionpanel {
  border-bottom-color: var(--TWPT-subtle-border)!important;
}

/* Reply button */
material-fab.reply-button,
    material-fab.reply-fab {
  background-color: var(--TWPT-link)!important;
  color: var(--TWPT-primary-background)!important;
}

/* Settings view */
ec-settings .forum-language-container {
  border-bottom-color: var(--TWPT-subtle-border)!important;
}

ec-settings .forum-language-container material-button {
  color: var(--TWPT-secondary-text)!important;
}

/* Loading spinner */
material-spinner {
  border-color: var(--TWPT-blue-A100)!important;
}

/* Custom injected components */
.TWPT-log {
  background-color: #424242!important;
}

.TWPT-log-entry.TWPT-log-entry--error {
  color: #ff8A80!important;
}
