:root {
    --ui-accent: #ff5726;
    --ui-accent-dark: #d94312;
    --ui-focus: rgba(255, 87, 38, .24);
    --ui-ease: cubic-bezier(.2, .8, .2, 1);
    font-size: 17px;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

:where(a, button, input, select, textarea) {
    -webkit-tap-highlight-color: transparent;
}

:where(body, button, input, select, textarea) {
    font-size: 1rem;
}

:where(a, button, input, select, textarea):focus-visible {
    outline: 3px solid var(--ui-focus) !important;
    outline-offset: 3px;
}

:where(button, .button, [role="button"]) {
    transition:
        transform .18s var(--ui-ease),
        box-shadow .18s var(--ui-ease),
        border-color .18s ease,
        color .18s ease,
        background-color .18s ease;
}

:where(button, .button, [role="button"]):not(:disabled):hover {
    transform: translateY(-2px);
}

:where(button, .button, [role="button"]):not(:disabled):active {
    transform: translateY(0) scale(.985);
}

:where(button, .button)[disabled],
:where(button, .button)[aria-disabled="true"] {
    cursor: not-allowed;
    opacity: .56;
    box-shadow: none !important;
}

:where(input, select, textarea) {
    transition:
        border-color .16s ease,
        box-shadow .16s ease,
        background-color .16s ease;
}

:where(small, .hint, .meta, .muted, .eyebrow, .badge, .tag, th) {
    font-size: 16px !important;
    line-height: 1.5;
}

@media (max-width: 760px) {
    :root {
        font-size: 18px;
    }

    :where(small, .hint, .meta, .muted, .eyebrow, .badge, .tag, th) {
        font-size: 17px !important;
    }
}

:where(.panel, .card, .metric, .service, .event, .entry) {
    transition:
        transform .22s var(--ui-ease),
        border-color .22s ease,
        box-shadow .22s var(--ui-ease);
}

:where(.metric, .service, a.event, a.card):hover {
    box-shadow: 0 18px 44px rgba(31, 40, 55, .1);
}

@media (hover: hover) {
    :where(button[type="submit"], .button.primary) {
        position: relative;
        overflow: hidden;
        isolation: isolate;
    }

    :where(button[type="submit"], .button.primary)::after {
        position: absolute;
        top: -80%;
        left: -45%;
        width: 32%;
        height: 260%;
        content: "";
        pointer-events: none;
        background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .34), transparent);
        opacity: 0;
        transform: rotate(18deg);
        transition: left .55s var(--ui-ease), opacity .2s ease;
    }

    :where(button[type="submit"], .button.primary):hover::after {
        left: 115%;
        opacity: 1;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}
