.contactFeedbackDialog {
    --contact-feedback-close-size: var(--media-action-size);
    --contact-feedback-close-icon: url("../../../public/assets/icons/panels/close.svg");

    width: min(100% - (var(--pad-2) * 4), 520px);
    max-height: calc(100dvh - (var(--pad-2) * 4));
    padding: 0;
    color: var(--c-font);
    border: var(--border-1) solid var(--c-border);
    border-radius: var(--radius-1);
    background: var(--c-surface-glass);
    box-shadow: var(--shadow-1);
    overflow: hidden;
}

.contactFeedbackDialog::backdrop {
    background: color-mix(in srgb, var(--c-bg) 72%, transparent);
}

.contactFeedbackDialog__panel {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    max-height: inherit;
    background: var(--c-surface-glass);
    backdrop-filter: var(--filter-blur-ui);
    -webkit-backdrop-filter: var(--filter-blur-ui);
}

.contactFeedbackDialog__header,
.contactFeedbackDialog__footer {
    display: flex;
    align-items: center;
    gap: var(--gap-1);
    padding: var(--pad-2);
}

.contactFeedbackDialog__header {
    border-bottom: var(--border-1) solid var(--c-border);
}

.contactFeedbackDialog__titleGroup {
    min-width: 0;
    display: grid;
    gap: 2px;
}

.contactFeedbackDialog__eyebrow,
.contactFeedbackDialog__title,
.contactFeedbackDialog__label,
.contactFeedbackDialog__sectionTitle,
.contactFeedbackDialog__hint {
    margin: 0;
}

.contactFeedbackDialog__eyebrow,
.contactFeedbackDialog__hint {
    font: var(--font-console);
}

.contactFeedbackDialog__label,
.contactFeedbackDialog__sectionTitle {
    font: var(--font-button);
}

.contactFeedbackDialog__eyebrow {
    color: var(--c-accent);
    letter-spacing: var(--title-letter-spacing);
    text-transform: uppercase;
}

.contactFeedbackDialog__title {
    color: var(--c-font);
    font: var(--font-title);
    letter-spacing: var(--title-letter-spacing);
    text-transform: uppercase;
}

.contactFeedbackDialog__close {
    width: var(--contact-feedback-close-size);
    height: var(--contact-feedback-close-size);
    margin-left: auto;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--c-font-muted);
    border: var(--border-1) solid var(--c-border);
    border-radius: var(--radius-3);
    background: var(--c-surface-interactive);
    cursor: pointer;
    transition: color var(--ease-fast), border-color var(--ease-fast), background-color var(--ease-fast);
}

.contactFeedbackDialog__closeIcon {
    width: calc(var(--contact-feedback-close-size) * 0.62);
    height: calc(var(--contact-feedback-close-size) * 0.62);
    background: currentColor;
    mask: var(--contact-feedback-close-icon) center / contain no-repeat;
    -webkit-mask: var(--contact-feedback-close-icon) center / contain no-repeat;
}

.contactFeedbackDialog__close:hover,
.contactFeedbackDialog__close:focus-visible {
    color: var(--c-accent);
    border-color: var(--c-accent);
}

.contactFeedbackDialog__body {
    min-height: 0;
    display: grid;
    gap: var(--gap-1);
    padding: var(--pad-2);
    overflow: auto;
}

.contactFeedbackDialog__field {
    display: grid;
    gap: calc(var(--gap-1) * 0.5);
}

.contactFeedbackDialog__fieldRow {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--gap-1);
}

.contactFeedbackDialog__honeypot {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.contactFeedbackDialog__label {
    color: var(--c-font-muted);
}

.contactFeedbackDialog__hint {
    color: color-mix(in srgb, var(--c-font-muted) 72%, transparent);
}

.contactFeedbackDialog__contactLead {
    margin: 0;
    color: var(--c-font-muted);
    font: var(--font-textblock);
}

.contactFeedbackDialog__copyGroup {
    display: grid;
    justify-items: center;
    gap: calc(var(--gap-1) * 0.5);
}

.contactFeedbackDialog__copyHint {
    color: var(--c-font-muted);
    font: var(--font-console);
}

.contactFeedbackDialog__emailCopy {
    width: 100%;
    max-width: 100%;
    color: var(--c-accent);
    overflow-wrap: anywhere;
}

.contactFeedbackDialog__footer--contact {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
}

.contactFeedbackDialog__footer--contact .contactFeedbackDialog__button {
    min-width: 112px;
}

.contactFeedbackDialog__required {
    color: var(--c-accent);
}

.contactFeedbackDialog__input,
.contactFeedbackDialog__select,
.contactFeedbackDialog__textarea {
    width: 100%;
    color: var(--c-font);
    font: var(--font-textblock);
    border: var(--border-1) solid var(--c-border);
    border-radius: var(--radius-2);
    background: color-mix(in srgb, var(--c-surface-solid) 86%, transparent);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--c-border) 36%, transparent);
}

.contactFeedbackDialog__input,
.contactFeedbackDialog__select {
    min-height: var(--btn-h);
    padding: 0 var(--pad-2);
}

.contactFeedbackDialog__select {
    appearance: none;
}

.contactFeedbackDialog__typeSelector {
    --segmented-options: 3;
    --segmented-label-weight: 0.85fr;
    width: 100%;
}

.contactFeedbackDialog__typeSelector [data-feedback-type-option="feedback"] {
    --contact-feedback-type-color: var(--c-console-level-warning);
}

.contactFeedbackDialog__typeSelector [data-feedback-type-option="bug-report"] {
    --contact-feedback-type-color: var(--c-console-level-error);
}

.contactFeedbackDialog__typeSelector [data-feedback-type-option="feature-request"] {
    --contact-feedback-type-color: var(--c-console-level-action);
}

.contactFeedbackDialog__typeSelector .sidebarSegmentedSelector__option {
    min-height: var(--sidebar-control-segment-height);
    color: color-mix(in srgb, var(--contact-feedback-type-color) 76%, var(--c-font-muted));
}

.contactFeedbackDialog__typeSelector .sidebarSegmentedSelector__option:hover,
.contactFeedbackDialog__typeSelector .sidebarSegmentedSelector__option:focus-visible {
    color: var(--contact-feedback-type-color);
}

.contactFeedbackDialog__typeSelector .sidebarSegmentedSelector__option.sidebarControl--active,
.contactFeedbackDialog__typeSelector .sidebarSegmentedSelector__option.is-active {
    color: var(--contact-feedback-type-color);
    background: color-mix(in srgb, var(--contact-feedback-type-color) 14%, transparent);
    box-shadow: inset 0 0 0 var(--border-1) color-mix(in srgb, var(--contact-feedback-type-color) 64%, transparent);
}

.contactFeedbackDialog__textarea {
    min-height: 132px;
    padding: var(--pad-2);
    resize: vertical;
}

.contactFeedbackDialog__input:focus,
.contactFeedbackDialog__select:focus,
.contactFeedbackDialog__textarea:focus {
    border-color: var(--c-accent);
}

.contactFeedbackDialog__options[hidden],
.contactFeedbackDialog__diagnosticDetails[hidden] {
    display: none;
}

.contactFeedbackDialog__options {
    min-width: 0;
    display: grid;
    gap: var(--gap-1);
    margin: 0;
    padding: var(--pad-2);
    border: var(--border-1) solid color-mix(in srgb, var(--c-border) 72%, transparent);
    border-radius: var(--radius-2);
    background: color-mix(in srgb, var(--c-surface-interactive) 72%, transparent);
}

.contactFeedbackDialog__sectionTitle {
    color: var(--c-font);
}

.contactFeedbackDialog__diagnosticDetails {
    display: grid;
    gap: calc(var(--gap-1) * 0.5);
}

.contactFeedbackDialog__checkbox {
    display: flex;
    align-items: center;
    gap: var(--gap-1);
    color: color-mix(in srgb, var(--contact-feedback-diagnostic-color) 76%, var(--c-font-muted));
    font: var(--font-textblock);
}

.contactFeedbackDialog__checkboxText {
    min-width: 0;
    display: grid;
    gap: 2px;
}

.contactFeedbackDialog__checkbox {
    --contact-feedback-diagnostic-color: var(--c-accent);
}

.contactFeedbackDialog__checkbox--media-list {
    --contact-feedback-diagnostic-color: var(--c-section-media-list);
}

.contactFeedbackDialog__checkbox--file {
    --contact-feedback-diagnostic-color: var(--c-section-file);
}

.contactFeedbackDialog__checkbox--filter {
    --contact-feedback-diagnostic-color: var(--c-section-filter);
}

.contactFeedbackDialog__checkbox--analytics {
    --contact-feedback-diagnostic-color: var(--c-section-analytics);
}

.contactFeedbackDialog__checkbox--controls {
    --contact-feedback-diagnostic-color: var(--c-section-controls);
}

.contactFeedbackDialog__checkbox--view {
    --contact-feedback-diagnostic-color: var(--c-section-view);
}

.contactFeedbackDialog__checkbox--3d-mesh {
    --contact-feedback-diagnostic-color: var(--c-section-3d-mesh);
}

.contactFeedbackDialog__checkbox--shading {
    --contact-feedback-diagnostic-color: var(--c-section-shading);
}

.contactFeedbackDialog__checkbox input {
    flex: 0 0 auto;
    accent-color: var(--contact-feedback-diagnostic-color);
}

.contactFeedbackDialog__checkbox input:checked + span {
    color: var(--contact-feedback-diagnostic-color);
}

.contactFeedbackDialog__checkbox input:checked + .contactFeedbackDialog__checkboxText .contactFeedbackDialog__hint {
    color: color-mix(in srgb, var(--contact-feedback-diagnostic-color) 72%, var(--c-font-muted));
}

.contactFeedbackDialog__diagnosticPreviewBody {
    min-height: 132px;
    max-height: 264px;
    display: grid;
    align-content: start;
    gap: var(--gap-1);
    padding: var(--pad-2);
    overflow: auto;
    border: var(--border-1) solid var(--c-border);
    border-radius: var(--radius-2);
    background: color-mix(in srgb, var(--c-surface-solid) 86%, transparent);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--c-border) 36%, transparent);
}

.contactFeedbackDialog__diagnosticPreviewSection {
    --contact-feedback-diagnostic-preview-color: var(--c-font-muted);

    display: grid;
    gap: calc(var(--gap-1) * 0.5);
    padding: var(--pad-2);
    border: var(--border-1) solid color-mix(in srgb, var(--contact-feedback-diagnostic-preview-color) 56%, var(--c-border));
    border-radius: var(--radius-3);
    background: color-mix(in srgb, var(--contact-feedback-diagnostic-preview-color) 10%, transparent);
}

.contactFeedbackDialog__diagnosticPreviewSection:not(.is-included) {
    background: color-mix(in srgb, var(--contact-feedback-diagnostic-preview-color) 4%, transparent);
    opacity: 0.62;
}

.contactFeedbackDialog__diagnosticPreviewSection--file {
    --contact-feedback-diagnostic-preview-color: var(--c-section-file);
}

.contactFeedbackDialog__diagnosticPreviewSection--filter {
    --contact-feedback-diagnostic-preview-color: var(--c-section-filter);
}

.contactFeedbackDialog__diagnosticPreviewSection--analytics {
    --contact-feedback-diagnostic-preview-color: var(--c-section-analytics);
}

.contactFeedbackDialog__diagnosticPreviewSection--controls {
    --contact-feedback-diagnostic-preview-color: var(--c-section-controls);
}

.contactFeedbackDialog__diagnosticPreviewSection--view {
    --contact-feedback-diagnostic-preview-color: var(--c-section-view);
}

.contactFeedbackDialog__diagnosticPreviewSection--shading {
    --contact-feedback-diagnostic-preview-color: var(--c-section-shading);
}

.contactFeedbackDialog__diagnosticPreviewTitle,
.contactFeedbackDialog__diagnosticPreviewContent {
    margin: 0;
}

.contactFeedbackDialog__diagnosticPreviewHeading {
    cursor: pointer;
}

.contactFeedbackDialog__diagnosticPreviewTitle {
    color: var(--contact-feedback-diagnostic-preview-color);
    font: var(--font-button);
}

.contactFeedbackDialog__diagnosticPreviewContent {
    overflow-wrap: anywhere;
    white-space: pre-wrap;
    color: color-mix(in srgb, var(--contact-feedback-diagnostic-preview-color) 72%, var(--c-font));
    font: var(--font-console);
}


.contactFeedbackDialog__privacyNote {
    margin: 0;
    color: var(--c-font-muted);
    font: var(--font-console);
}

.contactFeedbackDialog__privacyNote a {
    color: var(--c-font);
}

.contactFeedbackDialog__privacyNote a:hover,
.contactFeedbackDialog__privacyNote a:focus-visible {
    color: var(--c-accent);
}

.contactFeedbackDialog__footer {
    justify-content: flex-end;
    border-top: var(--border-1) solid var(--c-border);
}

.contactFeedbackDialog__submitStatus {
    margin-right: auto;
    color: var(--c-font-muted);
    font: var(--font-button);
}

.contactFeedbackDialog__submitStatus.is-success {
    color: var(--c-console-level-action);
}

.contactFeedbackDialog__submitStatus.is-error {
    color: var(--c-danger);
}

.contactFeedbackDialog__button {
    min-width: 96px;
}

.contactFeedbackDialog__button--primary {
    color: var(--c-accent);
}

.contactFeedbackDialog__button:disabled {
    opacity: var(--opacity-disabled);
    cursor: default;
}

.settingsDialog {
    width: min(100% - (var(--pad-2) * 4), 400px);
}

.settingsDialog__body {
    overflow: visible;
}

.settingsDialog__list {
    display: grid;
    gap: var(--gap-1);
}

.settingsDialog__setting {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--gap-1);
    padding: var(--pad-2);
    border: var(--border-1) solid var(--c-border);
    border-radius: var(--radius-2);
    background: color-mix(in srgb, var(--c-surface-interactive) 72%, transparent);
    cursor: pointer;
    transition: border-color var(--ease-fast), background-color var(--ease-fast);
}

.settingsDialog__setting:hover,
.settingsDialog__setting:focus-within {
    border-color: var(--c-control-hover-border);
    background: var(--c-control-hover-bg);
}

.settingsDialog__settingCopy {
    min-width: 0;
    display: grid;
    gap: 2px;
}

.settingsDialog__switchInput {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    opacity: 0;
}

.settingsDialog__switch {
    width: calc(var(--icon-size-sm) * 2.25);
    height: calc(var(--icon-size-sm) + (var(--border-1) * 2));
    display: flex;
    align-items: center;
    padding: var(--border-1);
    border: var(--border-1) solid var(--c-border);
    border-radius: 999px;
    background: var(--c-surface-solid);
    transition: border-color var(--ease-fast), background-color var(--ease-fast);
}

.settingsDialog__switchThumb {
    width: var(--icon-size-sm);
    height: var(--icon-size-sm);
    display: block;
    border-radius: 50%;
    background: var(--c-icon-muted);
    transition: transform var(--ease-fast), background-color var(--ease-fast);
}

.settingsDialog__switchInput:focus-visible + .settingsDialog__switch {
    outline: var(--border-2) solid var(--c-focus-ring);
    outline-offset: var(--border-1);
}

.settingsDialog__switchInput:checked + .settingsDialog__switch {
    border-color: var(--c-accent);
    background: var(--c-control-active-bg);
}

.settingsDialog__switchInput:checked + .settingsDialog__switch .settingsDialog__switchThumb {
    background: var(--c-accent);
    transform: translateX(calc(var(--icon-size-sm) * 1.05));
}

.settingsDialog__setting--language {
    cursor: default;
}

.settingsDialog__setting--language:hover {
    border-color: var(--c-border);
    background: color-mix(in srgb, var(--c-surface-interactive) 72%, transparent);
}

.settingsDialog__languageSelect {
    width: 112px;
    opacity: var(--opacity-disabled);
    cursor: default;
}

.settingsDialog__deleteButton,
.settingsDialog__deleteButton:hover,
.settingsDialog__deleteButton:focus-visible {
    color: var(--c-danger);
    border-color: var(--c-danger);
}

@media (max-width: 640px) {
    .contactFeedbackDialog {
        width: calc(100% - (var(--pad-2) * 2));
        max-height: calc(100dvh - (var(--pad-2) * 2));
    }

    .contactFeedbackDialog__footer {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .contactFeedbackDialog__footer--contact {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .contactFeedbackDialog__fieldRow {
        grid-template-columns: 1fr;
    }

    .contactFeedbackDialog__submitStatus {
        grid-column: 1 / -1;
        margin-right: 0;
    }

    .contactFeedbackDialog__button {
        min-width: 0;
    }

}
.settingsDialog__themeSelector {
    --segmented-options: 3;
    --segmented-label-weight: 0.85fr;
}
