:is(.writer-public-shell, .writer-admin-page, .writer-editor-page) .btn {
    --wp-btn-bg: transparent;
    --wp-btn-border: transparent;
    --wp-btn-color: var(--wp-color-text);
    --wp-btn-hover-bg: var(--wp-color-surface-muted);
    --wp-btn-hover-border: var(--wp-color-border-strong);
    --wp-btn-hover-color: var(--wp-color-text);
    display: inline-flex;
    min-block-size: var(--wp-control-md);
    align-items: center;
    justify-content: center;
    gap: var(--wp-space-2);
    padding: 0.45rem 0.875rem;
    border: 1px solid var(--wp-btn-border);
    border-radius: var(--wp-radius-md);
    background-color: var(--wp-btn-bg);
    box-shadow: none;
    color: var(--wp-btn-color);
    font-family: var(--bs-font-sans-serif);
    font-size: var(--wp-text-secondary);
    font-weight: 650;
    line-height: 1.25;
    text-align: center;
    text-decoration: none;
    white-space: normal;
    transition-property: color, background-color, border-color, box-shadow, opacity;
    transition-duration: var(--wp-duration-standard);
    transition-timing-function: var(--wp-ease-standard);
}

:is(.writer-public-shell, .writer-admin-page, .writer-editor-page) .btn:hover {
    border-color: var(--wp-btn-hover-border);
    background-color: var(--wp-btn-hover-bg);
    color: var(--wp-btn-hover-color);
}

:is(.writer-public-shell, .writer-admin-page, .writer-editor-page) :is(.btn-primary, .btn-dark) {
    --wp-btn-bg: var(--wp-color-primary);
    --wp-btn-border: var(--wp-color-primary);
    --wp-btn-color: var(--wp-color-on-primary);
    --wp-btn-hover-bg: var(--bs-primary-text-emphasis);
    --wp-btn-hover-border: var(--bs-primary-text-emphasis);
    --wp-btn-hover-color: var(--wp-color-on-primary);
    box-shadow: 0 1px 2px oklch(0 0 0 / 0.12);
}

:is(.writer-public-shell, .writer-admin-page, .writer-editor-page) :is(.btn-secondary, .btn-light) {
    --wp-btn-bg: var(--wp-color-surface-muted);
    --wp-btn-border: var(--wp-color-border);
    --wp-btn-color: var(--wp-color-text);
}

:is(.writer-public-shell, .writer-admin-page, .writer-editor-page) :is(.btn-outline-secondary, .btn-outline-dark) {
    --wp-btn-bg: var(--wp-color-surface);
    --wp-btn-border: var(--wp-color-border-strong);
    --wp-btn-color: var(--wp-color-text);
}

:is(.writer-public-shell, .writer-admin-page, .writer-editor-page) .btn-outline-primary {
    --wp-btn-bg: transparent;
    --wp-btn-border: var(--bs-primary-border-subtle);
    --wp-btn-color: var(--wp-color-primary-emphasis);
    --wp-btn-hover-bg: var(--wp-color-primary-subtle);
    --wp-btn-hover-border: var(--wp-color-primary);
    --wp-btn-hover-color: var(--wp-color-primary-emphasis);
}

:is(.writer-public-shell, .writer-admin-page, .writer-editor-page) .btn-danger {
    --wp-btn-bg: var(--wp-color-danger);
    --wp-btn-border: var(--wp-color-danger);
    --wp-btn-color: var(--wp-color-on-primary);
    --wp-btn-hover-bg: var(--wp-color-danger-emphasis);
    --wp-btn-hover-border: var(--wp-color-danger-emphasis);
    --wp-btn-hover-color: var(--wp-color-on-primary);
}

:is(.writer-public-shell, .writer-admin-page, .writer-editor-page) .btn-outline-danger {
    --wp-btn-bg: transparent;
    --wp-btn-border: var(--bs-danger-border-subtle);
    --wp-btn-color: var(--wp-color-danger-emphasis);
    --wp-btn-hover-bg: var(--wp-color-danger-subtle);
    --wp-btn-hover-border: var(--wp-color-danger);
    --wp-btn-hover-color: var(--wp-color-danger-emphasis);
}

:is(.writer-public-shell, .writer-admin-page, .writer-editor-page) :is(.btn-link, .btn-ghost) {
    --wp-btn-bg: transparent;
    --wp-btn-border: transparent;
    --wp-btn-color: var(--bs-link-color);
    --wp-btn-hover-bg: var(--wp-color-primary-subtle);
    --wp-btn-hover-border: transparent;
    --wp-btn-hover-color: var(--bs-link-hover-color);
    box-shadow: none;
}

:is(.writer-public-shell, .writer-admin-page, .writer-editor-page) .btn-sm {
    min-block-size: var(--wp-control-sm);
    padding: 0.35rem 0.7rem;
    border-radius: var(--wp-radius-sm);
    font-size: var(--wp-text-caption);
}

:is(.writer-public-shell, .writer-admin-page, .writer-editor-page) .btn-lg {
    min-block-size: var(--wp-control-lg);
    padding: 0.65rem 1.1rem;
    font-size: var(--wp-text-body);
}

:is(.writer-public-shell, .writer-admin-page, .writer-editor-page) :is(.btn-icon, [data-icon-button="true"]) {
    inline-size: var(--wp-control-md);
    padding: 0;
    white-space: nowrap;
}

:is(.writer-public-shell, .writer-admin-page, .writer-editor-page) .btn:disabled,
:is(.writer-public-shell, .writer-admin-page, .writer-editor-page) .btn.disabled,
:is(.writer-public-shell, .writer-admin-page, .writer-editor-page) .btn[aria-disabled="true"] {
    pointer-events: none;
    opacity: 0.52;
}

:is(.writer-public-shell, .writer-admin-page, .writer-editor-page) .btn[aria-busy="true"] {
    cursor: wait;
}

:is(.writer-public-shell, .writer-admin-page, .writer-editor-page) :is(.form-control, .form-select) {
    min-block-size: var(--wp-control-md);
    border-color: var(--wp-color-border-strong);
    border-radius: var(--wp-radius-md);
    background-color: var(--wp-color-surface);
    color: var(--wp-color-text);
    transition-property: border-color, box-shadow, background-color;
    transition-duration: var(--wp-duration-standard);
    transition-timing-function: var(--wp-ease-standard);
}

:is(.writer-public-shell, .writer-admin-page, .writer-editor-page) :is(.form-control, .form-select):focus {
    border-color: var(--wp-color-primary);
    box-shadow: 0 0 0 3px rgba(var(--bs-primary-rgb), 0.18);
}

:is(.writer-public-shell, .writer-admin-page, .writer-editor-page) .form-label {
    color: var(--wp-color-text);
    font-size: var(--wp-text-secondary);
    font-weight: 650;
}

:is(.writer-public-shell, .writer-admin-page, .writer-editor-page) .form-check-input {
    inline-size: 1.125rem;
    block-size: 1.125rem;
    margin-block-start: 0.2rem;
    border-color: var(--wp-color-border-strong);
}

:is(.writer-public-shell, .writer-admin-page, .writer-editor-page) .form-check-label {
    padding-inline: var(--wp-space-1);
}

:is(.writer-public-shell, .writer-admin-page, .writer-editor-page) :is(.card, .writer-card, .writer-editor-card, .writer-data-card) {
    border-color: transparent;
    border-radius: var(--wp-radius-lg);
    background-color: var(--wp-color-surface);
    box-shadow: var(--wp-shadow-sm);
}

:is(.writer-public-shell, .writer-admin-page, .writer-editor-page) .modal-content {
    border: 0;
    border-radius: var(--wp-radius-lg);
    box-shadow: var(--wp-shadow-lg);
    overscroll-behavior: contain;
}

:is(.writer-public-shell, .writer-admin-page, .writer-editor-page) .modal-header,
:is(.writer-public-shell, .writer-admin-page, .writer-editor-page) .modal-footer {
    gap: var(--wp-space-3);
    padding: var(--wp-space-4) var(--wp-space-6);
}

:is(.writer-public-shell, .writer-admin-page, .writer-editor-page) .modal-body {
    padding: var(--wp-space-6);
}

:is(.writer-public-shell, .writer-admin-page, .writer-editor-page) .alert {
    border: 1px solid currentColor !important;
    border-radius: var(--wp-radius-md);
    box-shadow: none !important;
}

:is(.writer-public-shell, .writer-admin-page, .writer-editor-page) :is(.badge, .writer-pill) {
    border-radius: var(--wp-radius-pill);
    font-family: var(--bs-font-sans-serif);
    font-size: var(--wp-text-caption);
    line-height: 1.25;
    white-space: nowrap;
}

:is(.writer-public-shell, .writer-admin-page, .writer-editor-page) .table {
    vertical-align: middle;
}

:is(.writer-public-shell, .writer-admin-page, .writer-editor-page) .table > :not(caption) > * > * {
    padding: var(--wp-space-3) var(--wp-space-4);
    border-color: var(--wp-color-border);
}

:is(.writer-public-shell, .writer-admin-page, .writer-editor-page) :is(.dropdown-menu, .offcanvas) {
    border-color: transparent;
    border-radius: var(--wp-radius-md);
    box-shadow: var(--wp-shadow-md);
}

:is(.writer-public-shell, .writer-admin-page, .writer-editor-page) .dropdown-item {
    display: flex;
    min-block-size: var(--wp-control-sm);
    align-items: center;
    border-radius: var(--wp-radius-sm);
    white-space: normal;
}

.wp-toast {
    position: fixed;
    inset-block-start: max(var(--wp-space-4), env(safe-area-inset-top));
    inset-inline-end: max(var(--wp-space-4), env(safe-area-inset-right));
    z-index: 2000;
    display: flex;
    inline-size: min(24rem, calc(100vw - (var(--wp-space-4) * 2)));
    min-block-size: var(--wp-control-touch);
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--wp-space-4);
    margin: 0;
    opacity: 1;
    transition-property: opacity, translate;
    transition-duration: var(--wp-duration-standard);
    transition-timing-function: var(--wp-ease-standard);
}

.wp-pre-wrap {
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}

.wp-revision-preview {
  background: var(--wp-color-surface-subtle);
  border: 1px solid var(--wp-color-border);
  border-radius: var(--wp-radius-md);
  color: var(--wp-color-text);
  font: inherit;
  max-block-size: 36rem;
  overflow: auto;
  padding: var(--wp-space-4);
  white-space: pre-wrap;
}

.wp-toast--hiding {
    opacity: 0;
    translate: 0 -0.25rem;
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    :is(.writer-public-shell, .writer-admin-page, .writer-editor-page) .btn:not(:disabled):not(.disabled) {
        transition-property: color, background-color, border-color, box-shadow, opacity, scale;
    }

    :is(.writer-public-shell, .writer-admin-page, .writer-editor-page) .btn:not(:disabled):not(.disabled):active {
        scale: 0.96;
    }
}

@media (pointer: coarse) {
    :is(.writer-public-shell, .writer-admin-page, .writer-editor-page) .btn:not(.btn-sm),
    :is(.writer-public-shell, .writer-admin-page, .writer-editor-page) :is(.form-control, .form-select) {
        min-block-size: var(--wp-control-touch);
    }

    :is(.writer-public-shell, .writer-admin-page, .writer-editor-page) :is(.btn-icon, [data-icon-button="true"]) {
        inline-size: var(--wp-control-touch);
    }
}
